- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有两组数据需要根据时间绘制。我需要单独显示它们,并借助单选按钮(或类似的方式)一起显示它们。单选按钮代码基于 https://stackoverflow.com/a/6697555/3910296
在加载第一组数据之前,一切看起来都很好。每当要绘制下一组数据时,我都会清除轴并重新绘制数据。但是当我单击单选按钮中的下一项时,会显示新数据,但 x 轴不会旋转。有什么办法可以解决这个问题吗?
重现我面临的问题的示例代码
import datetime
import matplotlib.pyplot as plt
from matplotlib.widgets import RadioButtons
import matplotlib.dates as mdates
data0_usage = [45, 76, 20, 86, 79, 95, 14, 94, 59, 84]
data1_usage = [57, 79, 25, 28, 17, 46, 29, 52, 68, 92]
data0_timestamp = []
def draw_data_plot(ax, data_no):
if data_no == 0:
data_usage = data0_usage
data_color = 'go'
elif data_no == 1:
data_usage = data1_usage
data_color = 'ro'
ax.plot_date(data0_timestamp, data_usage, data_color)
ax.plot_date(data0_timestamp, data_usage, 'k', markersize=1)
def draw_plot():
fig = plt.figure()
ax = fig.add_subplot(111)
ax.grid(True)
# Adjust the subplots region to leave some space for the sliders and buttons
fig.subplots_adjust(left=0.25, bottom=0.25)
# Beautify the dates on x axis
time_format = mdates.DateFormatter('%Y-%b-%d %H:%M:%S')
plt.gca().xaxis.set_major_formatter(time_format)
plt.gcf().autofmt_xdate()
# Draw data0 plot
draw_data_plot(ax, 0)
# Add a set of radio buttons for changing color
color_radios_ax = fig.add_axes(
[0.025, 0.5, 0.15, 0.15], axisbg='lightgoldenrodyellow')
color_radios = RadioButtons(
color_radios_ax, ('data 0', 'data 1', 'all'),
active=0)
def color_radios_on_clicked(label):
ax.cla()
ax.grid(True)
if label == 'all':
draw_data_plot(ax, 0)
draw_data_plot(ax, 1)
else:
draw_data_plot(ax, int(label[5]))
ax.xaxis.set_major_formatter(time_format)
plt.gcf().autofmt_xdate()
fig.canvas.draw_idle()
color_radios.on_clicked(color_radios_on_clicked)
plt.show()
current_date = datetime.datetime.today()
for days in range(0, 10):
data0_timestamp.append(current_date + datetime.timedelta(days))
draw_plot()
使用 Windows 10、Python 2.7.32、matplotlib 2.1.0
最佳答案
原因plt.gcf().autofmt_xdate()
坐标区内容的后续更新失败的原因是,在调用它时,图形内有坐标区,它们不是子图。这是 fig.add_axes
创建的轴,是单选按钮轴。 autofmt_xdate
将不知道如何处理该轴,即它不知道这是否是旋转标签的轴,因此它将决定不执行任何操作。在 matplotlib source code这看起来像
allsubplots = all(hasattr(ax, 'is_last_row') for ax in self.axes)
if len(self.axes) == 1:
# rotate labels
else:
if allsubplots:
for ax in self.get_axes():
if ax.is_last_row():
#rotate labels
else:
#set labels invisible
因为你有一个轴,它不是子图,allsubplots == False
并且不会发生旋转。
解决方案是不使用 autofmt_xdate()
,但是手动旋转刻度标签的工作 - 这实际上只有 3 行代码。替换行 plt.gcf().autofmt_xdate()
通过
for label in ax.get_xticklabels():
label.set_ha("right")
label.set_rotation(30)
关于python - matplotlib - 调用axes.cla()后,autofmt_xdate()无法旋转x轴标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48078540/
是否有我遗漏的原因或某些原因让 Sitecore 为 true 和 Item.Axes.IsDescendantOf() 返回 Item.Axes.IsAncestorOf() ? var test
我最近重构了很多代码,想要一个干净的环境,所以我删除并重新创建了数据库模式,创建了一个新的 venv,并从 pip3 一个一个地安装依赖项,所以我没有'有任何从旧环境遗留下来的多余包。我很快安装了六个
我有一个返回 Figure 对象的外部函数,在这种情况下,每个 Figure 对象都由一个 Axes 对象组成。 我想组成一个由这两个图形组成的新图形(比方说水平连接)。 所以理想情况下,我想说: f
文件说 Axes.text(self, x, y, s, fontdict=None, withdash=deprecated parameter, **kwargs) Add text to the
我对编程和尝试学习 Python 完全陌生。因此,请在询问转储问题的阶段耐心等待。上面的错误是我尝试将 matplotlib.pyplot 导入 Python 时遇到的错误。我不确定如何解决这个问题,
谁能告诉我如何在图表的 x-y 轴上写标签?那些写着“时间(秒)”和“速度(米/秒)”的。 我正在使用 System.Windows.Forms.DataVisualization.Charting.
sitecore 中 item.Axes.GetDescendants() 和 item.Axes.selectitems() 之间的基本/性能区别是什么? 最佳答案 item.Axes.GetDes
我在 Seaborn 中有一个包含 10 个图的 FacetGrid 图表,其中的图略有重叠。我想改变整体图形的大小。当我在下面的代码中使用 g.fig.subplots(figsize=(12,12
有没有一种方法可以检查是否从数据库中检索到字段?我创建了一些从不同位置调用的逻辑。但在某些位置,表缓冲区是使用字段列表选择的。我只想在未检索到该字段的情况下再次执行查询。获取正确记录的查询非常繁重,并
我最近将 django-axes 添加到我的 Django 项目中。它应该用 django-restframework 来解决这个问题。但是,我使用 django-rest-framework-sim
我正在使用 Java2d 开发应用程序。我注意到的奇怪的事情是,原点在左上角,正 x 向右移动,正 y 向下增加。 有没有办法把原点移到左下角? 谢谢。 最佳答案 您将需要进行缩放和翻译。 在您的 p
当前有效matplotlib版本为:3.4.1。 概述 axes()函数功能与subplot()函数极其相似。都是向当前图像(figure)添加一个子图(Axes),并将该子图设为当前子图或者将
XPath 中的 轴( Axes ) 可用于选取相对于当前节点的节点集 XML 范例文档 我们将在接下来的范例中使用下面这份 XML 文档 <?xml version="1.0&
是否可以使用xpath语法进行基于日期的查询?我研究的一切都表明这是不可能的。我正在查询一组日历,只想取回一个月的数据-我可以使用哪些策略来实现这一目标? 2010年8月10日:编辑以获取更多信息 我
所以我有这两个函数来绘制时间序列和直方图。 ax1 = plotTimeSeries(df=dfDelay_Vector) ax2 = plotHistogram( df=dfDelay_Hist)
我有一个 matplotlib Axes对象 self.a在 matplotlib 上定义canvas对象 self.fold_canvas .在它的构建过程中,在某些时候我在地 block 上绘制了
我想知道如何键入提示 matplotlib-subplots 的轴对象的“最佳”方法。 运行 from matplotlib import pyplot as plt f, ax = plt.subp
我们想要在 azure 上部署 AX Dynamics,我们已经创建了 DC/AX AOS/SQL VM 的 . 客户的本地 Pc/AX 客户端如何连接到 azure DC VM? 我可以在不创建虚拟
我想用我选择的颜色图绘制散点图。 我的代码: # Create a scatter plot. scatter = axes[1][1].scatter( fourth.VALP, # First v
我仍在使用 https://github.com/syntagmatic/parallel-coordinates#parallel-coordinates 绘制平行坐标图和 d3.js 轴重新排序后
我是一名优秀的程序员,十分优秀!