Python可视化--双Y轴图

双Y轴图

1.双Y轴图简介

 双Y轴图顾名思义就是在一个图里有两个Y轴。这种图形主要用来展示两个因变量和一个自变量的关系并且两个因变量的数值单位还不同。如我们想要展示不同月份公司销业绩以及成本的变化情况这时就可以用双Y轴图来展示。(因变量销量和成本具有不同的单位)。

2.双Y轴图的绘制

%matplotlib inline
import matplotlib.pyplot as plt
import random
import pandas as pd
import matplotlib as mpl
mpl.rcParams['font.sans-serif'] = ['FangSong']  # 指定默认字体
mpl.rcParams['axes.unicode_minus'] = False  # 解决保存图像是负号'-'显示为方块的问题
#数据准备
date=["一月","二月","三月","四月","五月","六月","七月","八月"]
sales=[random.randint(10000,25000) for i in range(8)]
cost=[int(i/100)-random.randint(1,20) for i in sales]
df=pd.DataFrame(data={"销量":sales,"成本":cost},index=date)

#绘制第一个Y轴
fig=plt.figure(figsize=(20,8),dpi=80)
ax=fig.add_subplot(111)
lin1=ax.plot(df.index,df["销量"],marker="o",label="sales
### 使用Python绘制折线 #### 绘制折线的基础概念 Matplotlib 是 Python 中最常用的数据可视化库之一,能够生成高质量的表。通过 `matplotlib.pyplot` 模块中的 `plot()` 方法,可以轻松创建折线来表示数据的趋势变化[^1]。 #### 示例代码:基本折线 以下是使用 Matplotlib 创建简单折线的一个例子: ```python import numpy as np import matplotlib.pyplot as plt # 数据准备 N = 100 x = np.linspace(0, 15, N) # x 数据 y = np.sin(x)**2 + np.cos(x) # y 数据 # 绘制折线 plt.plot(x, y) # 添加表标识 plt.title('默认折线') # 表标题 plt.xlabel('X') # X 标签 plt.ylabel('Y') # Y 标签 # 显示表 plt.show() ``` 此代码展示了如何利用 NumPy 和 Matplotlib 来生成一组随机数据并将其绘制成折线[^3]。 #### 自定义折线样式 为了使折线更具表现力,可以通过调整线条属性(如颜色、宽度)、标记符以及透明度等方式来自定义其外观。以下是一段更复杂的自定义示例代码: ```python import math import matplotlib.pyplot as plt # 配置像分辨率 plt.figure(dpi=120) # 定义多个函数曲线 x_values = range(2, 10) y_sin = [math.sin(i) for i in x_values] y_cos = [math.cos(i) for i in x_values] # 绘制第一条曲线 (带特殊标记) plt.plot( x_values, y_sin, linestyle='--', linewidth=2, color='red', marker='^', markersize=8, markeredgecolor='green', markerfacecolor='yellow', label='sin(x)' ) # 绘制第二条曲线 (默认参数) plt.plot(x_values, y_cos, label='cos(x)') # 增加额外装饰 plt.legend() # 添加例 plt.grid(True) # 启用网格 plt.xlabel('x') plt.ylabel('f(x)') plt.title('带有样式的折线') # 展现最终效果 plt.show() ``` 这段程序不仅实现了基础的功能,还加入了更多细节上的处理,比如不同的线型、颜色渐变以及标注等功能[^4]。 #### 总结 无论是简单的还是高度定制化的折线,都可以借助于 Matplotlib 库完成。只需掌握好核心 API 的调用方式及其选项配置即可灵活应对各类场景下的需求。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值