python条形图和散点图,python – 在同一窗口中绘制多种类型的图(线,散点图,条形图等)...

我试图在同一窗口中绘制两种类型的图(即线图和散点图).在折线图(第一图)中绘制的数据是表示气候指数(Y)与十进制年(X)的浮动数值.我希望成为“散点图”的第二个图是大致相同的,但浮动数值表示流流(Y)与十进制年(X).我试图通过使用双x轴和第二个寄生y轴作为散点图来实现如下:

import mpl_toolkits

from mpl_toolkits.axes_grid1 import host_subplot

import matplotlib.pyplot as plt

host = host_subplot(111)

par = host.twinx()

host.set_xlim(1880, 2020)

host.set_ylim(-5, 10)

host.set_xlabel("Time")

host.set_ylabel("PDSI Region 01")

par.set_ylabel("Minimum 10% Annual 7-day Non-exceedance Flow (cfs)")

x1 = timearray

y1 = pdsiarray01

x2 = upAmm_yr

y2 = upAmm_min

p1, = host.plot(x1, y1, label="PDSI01")

p2, = par.scatter(x2, y2, label="Annual Lowflow Upper Amm")

par.set_ylim(30, 60)

host.legend()

host.axis["left"].label.set_color(p1.get_color())

par.axis["right"].label.set_color(p2.get_color())

plt.draw()

plt.show()

我收到错误代码:

TypeError: cannot perform reduce with flexible type

当我用以p2开头的行中的plot替换scatter时,此代码工作正常,但会产生第二个线图.我希望它分散的最终原因是在第二个数据集中绘制的点数要少得多,连接它们的线条会分散注意力并且“混乱”(当我需要的是突出显示时刻).条形图而不是散点图也可以.任何建议或帮助将不胜感激!

解决方法:

为什么不在两种情况下都使用情节呢?

import datetime

import numpy as np

import matplotlib.pyplot as plt

import matplotlib.dates as mdates

# Generate some random data

time = mdates.drange(datetime.datetime(2010, 1, 1),

datetime.datetime(2011, 1, 1),

datetime.timedelta(days=5))

y1 = np.cumsum(np.random.random(time.size) - 0.5)

y2 = np.cumsum(np.random.random(time.size) - 0.5)

y2 = y2 * 20 + 10

# Plot things up...

fig = plt.figure()

host = fig.add_subplot(111)

par = host.twinx()

host.set_ylabel('One Thing')

par.set_ylabel('Another')

line1, = host.plot(time, y1)

line2, = par.plot(time, y2, 'go')

host.legend([line1, line2], ['Item 1', 'Item 2'])

host.xaxis_date()

plt.show()

标签:python,matplotlib,scatter

来源: https://codeday.me/bug/20190621/1253263.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值