python - 在轴的一侧评论和放置图例,多轴的特殊情况:
问题描述
这是我的问题。我很想从其他数据中散点图,而不是在这个工作示例中,两个散点图,在同一个图上,有两个不同的轴(每个轴都针对数据进行了很大的缩放)。我几乎成功了,结果如下:
fig = plt.figure(figsize=(20, 10))
fig.tight_layout
ax = plt.axes()
ax_bis = ax.twinx()
x = np.linspace(-1,1,100)
y1 = dist1 = np.random.normal(0.5, 0.25, 100)
y2 = dist2 = np.random.normal(8, 0.1, 100)
plt.grid(True)
lns1 = ax.plot(x,y1, 'ro', label = 'dist 1' )
lns2 = ax_bis.plot(x,y2, 'yx', label = 'dist 2')
lns = lns1+lns2
labs = [l.get_label() for l in lns]
ax.legend(lns, labs, loc = "upper left")
#plt.text(50, .025, r'$\mu=100,\ \sigma=15$')
#ax_bis.xlabel('Time')
plt.suptitle('my graph')
我的斗争是这样的:我无法命名轴。经典方式不起作用(我将它们作为注释放在代码中),我很想在图表本身上添加一些注释(就像一个小文本说:“嘿!图表很棒”)。怎么可能做到这一点?
解决方案
您非常接近设置标签并获取文本。
fig = plt.figure(figsize=(20, 10))
fig.tight_layout
ax = plt.axes()
ax_bis = ax.twinx()
x = np.linspace(-1,1,100)
y1 = dist1 = np.random.normal(0.5, 0.25, 100)
y2 = dist2 = np.random.normal(8, 0.1, 100)
plt.grid(True)
lns1 = ax.plot(x,y1, 'ro', label = 'dist 1' )
lns2 = ax_bis.plot(x,y2, 'yx', label = 'dist 2')
lns = lns1+lns2
labs = [l.get_label() for l in lns]
ax.legend(lns, labs, loc = "upper left")
# EDITS
ax.set_xlabel('Time')
ax.text(0,0.6,"Hello World") # x,y,message
#plt.text(50, .025, r'$\mu=100,\ \sigma=15$')
#ax_bis.xlabel('Time')
plt.suptitle('my graph')
注意:你的情节是
'AxesSubplot' object
并且没有属性 .xlabel 而是有 .set_xlabel
您可以使用(伪代码)设置文本
ax.text(xval,yval,message)
推荐阅读
- python - 根据列数据分布和条件从 Python 数据框中选择随机数据
- python - Python Selenium - 提交后如何获得确认
- android - jetpack compose:如何强制某些屏幕的方向
- flutter - Flutter 上的免费自动完成地图
- jupyter - 为什么我的环境中有 `jupyter lab` 和 `jupyter-lab` 命令?
- linux - 在 devcontainer 中运行多个阻塞命令
- html - 在几个分组中分组一对复选框
- mysql - 搜索 A 或 B 列中是否存在值 X 和 Y [SQL]
- gitlab - GitLab 无法激活 gitlab-kas
- javascript - 如何创建具有安全性的 npm 包