Matplotlib:同一轴上的两个图,具有不同的左右比例尺

大男孩1337

我正在尝试使用以下示例:http : //matplotlib.org/examples/api/two_scales.html#api-two-scales与我自己的数据集,如下所示:

import sys
import numpy as np
import matplotlib.pyplot as plt
print sys.argv
logfile = sys.argv[1]
data = []
other_data =[]
with open(logfile,'rb') as f:
    for line in f:
        a = line.split(',')
        print a
        data.append(a[1])
        other_data.append(a[2][:-1])
print other_data
x = np.arange(0,len(data))
fig,ax1 = plt.subplots()
ax1.plot(x,np.arange(data))

ax2 = ax1.twinx()
ax2.plot(x,np.arange(other_data))
plt.show()

但是,我不断收到此错误:

'Traceback (most recent call last):
  File "share/chart.py", line 17, in <module>
    ax1.plot(x,np.arange(data))
TypeError: unsupported operand type(s) for -: 'list' and 'int'

我认为我正确使用了twinx命令,但显然没有。我怎样才能做到这一点?

ho

尝试

x1.plot(x,np.array(data))  # do you mean "array" here?

在两个地方,而不是

x1.plot(x,np.arange(data))

但是,为什么您根本不想在这里使用任何东西?如果你只是

x1.plot(data) 

它将自动生成您的x值,并且matplotlib无需转换即可处理各种不同的可迭代项。

您应该提供一个示例,其他人可以通过添加一些示例数据来立即运行。这也可以帮助您调试。这被称为“最小,完整和可验证的示例”

您也可以删除某些脚本:

import matplotlib.pyplot as plt

things = ['2,3', '4,7', '4,1', '5,5']

da, oda = [], []
for thing in things:
    a, b = thing.split(',')
    da.append(a)
    oda.append(b)

fig, ax1 = plt.subplots()
ax2      = ax1.twinx()

ax1.plot(da)
ax2.plot(oda)

plt.savefig("da oda")  # save to a .png so you can paste somewhere
plt.show()

注意1: matplotlib默认情况下正在为您生成x轴的值。您可以根据需要放入它们,但这只是一个犯错的机会。

注意2: matplotlib正在接受字符串,并将尝试为您转换为数值。

如果您想使用python,请使用列表推导,然后使用zip(*)-这与之相反zip()

import matplotlib.pyplot as plt

things = ['2,3', '4,7', '4,1', '5,5']

da, oda = zip(*[thing.split(',') for thing in things])

fig, ax1 = plt.subplots()
ax2      = ax1.twinx()

ax1.plot(da)
ax2.plot(oda)

plt.savefig("da oda")  # save to a .png so you can paste somewhere
plt.show()

但是,如果你真的真的想使用数组,然后转- array.T-做什么zip(*)也会嵌套iterables工作。但是,您应该首先使用int()转换为数值float()

import matplotlib.pyplot as plt
import numpy as np

things = ['2,3', '4,7', '4,1', '5,5']

strtup = [thing.split(',') for thing in things]
inttup = [(int(a), int(b)) for a, b  in strtup]

da, oda = np.array(inttup).T

fig, ax1 = plt.subplots()
ax2      = ax1.twinx()

ax1.plot(da)
ax2.plot(oda)

plt.savefig("da oda")
plt.show()

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

合并两个具有共同x轴的coord_polar图并添加x轴比例尺

来自分类Dev

FSharpChart:同一图形上的两个比例尺

来自分类Dev

ggplot2:散点图,在y轴上具有两个变量(以相同的比例尺进行测量):如何更改外观并添加单独的回归线?

来自分类Dev

图形输出在图之间具有相同的比例尺大小,但轴长不同

来自分类Dev

用x比例尺覆盖两个图

来自分类Dev

Datadog是否支持带有2个Y轴的比例尺不同的图形?

来自分类Dev

来自pandas数据框的两个图,在同一图上具有不同的垂直轴

来自分类Dev

如何在同一面板的同一X轴上绘制具有两个不同y轴范围的点?

来自分类Dev

使点图比例尺y轴与直方图相同

来自分类Dev

matplotlib.pyplot.pcolor在符号比例尺上的不同边缘的不同长度

来自分类Dev

如何在X轴上显示完整的比例尺/所有数据点?

来自分类Dev

如何在X轴上显示完整的比例尺/所有数据点?

来自分类Dev

如何在python中的同一轴上绘制具有不同时间频率的两个时间序列数据?

来自分类Dev

在单个轴上绘制多个比例尺

来自分类Dev

在同一表上具有不同where子句的两个选择查询

来自分类Dev

Matplotlib:如何绘制两个具有相同x / y轴但一个沿y轴从另一个开始的条形图

来自分类Dev

matplotlib pyplot 2图在同一图中具有不同的轴

来自分类Dev

合并两个不同的图:一个在X轴上,另一个在Y轴上

来自分类Dev

同一张表上的两个查询显示同一行具有不同的值?

来自分类Dev

在loglog比例尺上使用matplotlib拟合曲线

来自分类Dev

在ggplot中重叠两个具有不同y轴的图

来自分类Dev

geom_point 中具有多种颜色的一种比例尺

来自分类Dev

添加箭头以在R中的比例尺上指向一个值

来自分类Dev

Matplotlib-具有不同范围的两个不同的颜色图

来自分类Dev

同一域上具有不同子文件夹的两个不同AWS应用程序

来自分类Dev

在Nginx的同一ip上运行具有不同域的两个不同的django-cms应用程序

来自分类Dev

在Nginx的同一ip上运行具有不同域的两个不同的django-cms应用程序

来自分类Dev

同一imshow matplotlib中的两个不同的颜色颜色图

来自分类Dev

来自matplotlib中同一循环的两个不同图?

Related 相关文章

  1. 1

    合并两个具有共同x轴的coord_polar图并添加x轴比例尺

  2. 2

    FSharpChart:同一图形上的两个比例尺

  3. 3

    ggplot2:散点图,在y轴上具有两个变量(以相同的比例尺进行测量):如何更改外观并添加单独的回归线?

  4. 4

    图形输出在图之间具有相同的比例尺大小,但轴长不同

  5. 5

    用x比例尺覆盖两个图

  6. 6

    Datadog是否支持带有2个Y轴的比例尺不同的图形?

  7. 7

    来自pandas数据框的两个图,在同一图上具有不同的垂直轴

  8. 8

    如何在同一面板的同一X轴上绘制具有两个不同y轴范围的点?

  9. 9

    使点图比例尺y轴与直方图相同

  10. 10

    matplotlib.pyplot.pcolor在符号比例尺上的不同边缘的不同长度

  11. 11

    如何在X轴上显示完整的比例尺/所有数据点?

  12. 12

    如何在X轴上显示完整的比例尺/所有数据点?

  13. 13

    如何在python中的同一轴上绘制具有不同时间频率的两个时间序列数据?

  14. 14

    在单个轴上绘制多个比例尺

  15. 15

    在同一表上具有不同where子句的两个选择查询

  16. 16

    Matplotlib:如何绘制两个具有相同x / y轴但一个沿y轴从另一个开始的条形图

  17. 17

    matplotlib pyplot 2图在同一图中具有不同的轴

  18. 18

    合并两个不同的图:一个在X轴上,另一个在Y轴上

  19. 19

    同一张表上的两个查询显示同一行具有不同的值?

  20. 20

    在loglog比例尺上使用matplotlib拟合曲线

  21. 21

    在ggplot中重叠两个具有不同y轴的图

  22. 22

    geom_point 中具有多种颜色的一种比例尺

  23. 23

    添加箭头以在R中的比例尺上指向一个值

  24. 24

    Matplotlib-具有不同范围的两个不同的颜色图

  25. 25

    同一域上具有不同子文件夹的两个不同AWS应用程序

  26. 26

    在Nginx的同一ip上运行具有不同域的两个不同的django-cms应用程序

  27. 27

    在Nginx的同一ip上运行具有不同域的两个不同的django-cms应用程序

  28. 28

    同一imshow matplotlib中的两个不同的颜色颜色图

  29. 29

    来自matplotlib中同一循环的两个不同图?

热门标签

归档