python matplotlib库实现绘制一张图内两个纵坐标,并解决legend标签显示在图外的问题

python matplotlib库实现绘制一张图内两个纵坐标,并解决legend标签显示在图外的问题

效果:
在这里插入图片描述
代码如下:

import matplotlib.pyplot as plt

# X横坐标
X=[i for i in range(10)]
# Y1 左纵坐标下的线1
Y1=[i**2 for i in range(10)]
# Y2 左纵坐标下的线2
Y2=[i**2+5 for i in range(10)]
# Y3 右纵坐标下的线1
Y3=[-i*2 for i in range(10)]

fig, ax1 = plt.subplots()

# 纵坐标一
ax1.plot(X, Y1)
ax1.set_xlabel("X")
ax1.set_ylabel("Y1")

ax1.plot(X, Y2)
ax1.set_xlabel("X")

# 纵坐标二
ax2 = ax1.twinx()
ax2.plot(X, Y3)
ax2.set_ylabel("Y3")

fig.legend(["Y1", "Y2", "Y3"])
plt.show()


但是上图中标签显示在了图外,下面是移到图内的代码

import matplotlib.pyplot as plt

# X横坐标
X=[i for i in range(10)]
# Y1 左纵坐标下的线1
Y1=[i**2 for i in range(10)]
# Y2 左纵坐标下的线2
Y2=[i**2+5 for i in range(10)]
# Y3 右纵坐标下的线1
Y3=[-i*2 for i in range(10)]

fig, ax1 = plt.subplots()

# 纵坐标一
ax1.plot(X, Y1,label="Y1")
ax1.set_xlabel("X")
ax1.set_ylabel("Y1")

ax1.plot(X, Y2,label="Y2")
ax1.set_xlabel("X")

# 纵坐标二
ax2 = ax1.twinx()
ax2.plot(X, Y3,label="Y3")
ax2.set_ylabel("Y3")

handles1, labels1 = ax1.get_legend_handles_labels()
handles2, labels2 = ax2.get_legend_handles_labels()
plt.legend(handles1+handles2, labels1+labels2, loc='right')

plt.show()



在这里插入图片描述

  • 10
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 好的,我可以给您展示如何用 Python 画一个简单的折线。这里我们用 matplotlib 实现。 首先,我们需要安装 matplotlib 。在命令行中输入以下命令: ``` pip install matplotlib ``` 接下来,我们来画一个简单的折线: ```python import matplotlib.pyplot as plt # x和y的坐标 x = [1, 2, 3, 4, 5] y = [2, 4, 6, 8, 10] # 绘制折线 plt.plot(x, y) # 添加标题和坐标轴标签 plt.title("Simple Line Plot") plt.xlabel("X-axis") plt.ylabel("Y-axis") # 显示像 plt.show() ``` 这段代码会生成一个简单的折线,如下所示: ![line_plot](https://img-blog.csdn.net/20180505180806669?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbG9nb18xMTIxMzY1MjQyMzI=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/75) 这只是一个简单的例子,您可以在 matplotlib 官方文档中找到更多绘例子和用法。 ### 回答2: 要使用Python绘制形,可以使用诸如matplotlib和turtle等。下面是一个使用matplotlib绘制折线的例子: ```python import matplotlib.pyplot as plt # 准备数据 x = [1, 2, 3, 4, 5] y = [2, 4, 6, 8, 10] # 创建形对象 fig, ax = plt.subplots() # 绘制折线 ax.plot(x, y) # 添加标题和坐标轴标签 ax.set_title('折线示例') ax.set_xlabel('X轴') ax.set_ylabel('Y轴') # 显示形 plt.show() ``` 这段代码首先导入了matplotlib,并准备了一些数据(x和y坐标值)。然后,创建一个形对象,并使用`plot`函数绘制折线。接下来,通过`set_title`、`set_xlabel`和`set_ylabel`函数分别设置标题和坐标轴的标签。最后,使用`show`函数显示形。执行这段代码将会生成一个简单的折线,横轴表示x值,纵轴表示y值。 除了折线matplotlib还支持绘制其他类型的形,如散点、柱状、饼等。具体可以根据需要选择合适的函数进行绘制。同样地,使用turtle也可以实现绘制各种形,如直线、多边形、圆等。 ### 回答3: 使用Python编程语言可以使用多种绘制表,其中最常用的是matplotlib。下面以绘制折线为例来说明如何使用Python代码绘制一个形。 首先,我们需要安装并导入matplotlib。使用以下命令来安装该: ``` pip install matplotlib ``` 在Python代码中导入matplotlib: ```python import matplotlib.pyplot as plt ``` 接下来,我们可以传入x和y的值以绘制折线。以下是一个简单的例子: ```python x = [1, 2, 3, 4, 5] # x轴的值 y = [2, 4, 6, 8, 10] # y轴的值 plt.plot(x, y) # 绘制折线 plt.xlabel('x轴') # 设置x轴标签 plt.ylabel('y轴') # 设置y轴标签 plt.title('折线') # 设置表标题 plt.show() # 显示表 ``` 运行以上Python代码后,将会弹出一个窗口显示绘制的折线。该表的x轴显示从1到5的连续数字,y轴显示对应的2、4、6、8、10这些数值。表上方显示了标题,左侧显示了y轴标签,底部显示了x轴标签。 以上是一个简单的例子,你还可以根据具体需求设置更多的参数,如线条颜色、样式、点标记等等。使用matplotlib可以帮助你绘制各种类型的表,包括折线、柱状、散点等等,让数据更加直观地呈现出来。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值