在C语言中嵌入matplotlib
我在C中有一个双重指针,我想用C的matplotlib绘制它.我不明白如何使用Python/c API进行操作.有人可以给我一个简单的例子吗?一个简单的代码可能类似于: #include #define N 10 int main(void) { double *a_c; PyObject *a_python; int i; a_c = (double*)malloc(sizeof(double)*N); for (i=0;i
0 2024-04-09
编程技术问答社区
改变matplotlib按钮按压时的颜色
我正在使用matplotlib的FuncAnimation运行一个动画,以显示微处理器的数据(实时).我正在使用按钮将命令发送到处理器,并希望在单击后要更改按钮的颜色,但是我在matplotlib.widgets.button>文档中找不到任何实现此目的的文档. class Command: def motor(self, event): SERIAL['Serial'].write(' ') plt.draw() write = Command() bmotor = Button(axmotor, 'Motor', color = '0.85', hovercolor = 'g') bmotor.on_clicked(write.motor) #Change Button Color Here 解决方案 只是设置button.color. ,例如 import matplotlib.pyplot as plt f
4 2024-04-05
编程技术问答社区
使用按钮更新Matplotlib中的注释
我正在修改Matplotlib文档中的按钮示例,以在图中添加文本注释.我的问题是,每次按下按钮时,我都找不到适当的方法来更新注释,因为注释重叠.我尝试了remove()方法,但不起作用. import numpy as np import matplotlib.pyplot as plt from matplotlib.widgets import Button freqs = np.arange(2, 20, 3) fig, ax = plt.subplots() plt.subplots_adjust(bottom=0.2) t = np.arange(0.0, 1.0, 0.001) s = np.sin(2*np.pi*freqs[0]*t) l, = plt.plot(t, s, lw=2) class Index(object): ind = 0 def next(self, event): self.ind += 1
0 2024-04-05
编程技术问答社区
matplotlib按钮
matplotlib小部件按钮事件事件和图.canvas.mpl_connect('button_press_event')均可在鼠标按钮单击时触发. 我的问题是: 1)如何使图canvas.mpl_connect('button_press_event')事件具有更高的优先级? 和 2)如何在FIG.CANVAS.MPL_CONNECT('​​button_press_event')事件中说出是否单击按钮. import matplotlib.pyplot as plt from matplotlib.widgets import Slider, Button, RadioButtons fig = plt.figure() # plotting X=[1,2,3] Y=[10,20,30] ax = fig.add_subplot(1, 1, 1) ax.plot(X,Y,'bo-') ax.grid() ax.legend() X1=[] Y1=[] de
0 2024-04-05
编程技术问答社区
如何使用Python -M构建使用Python软件包分发字体?
问题语句 我的软件包依靠matplotlib使用可能在目标设备上安装的特定字体. 我正在尝试将TTF字体文件从源分布安装到Matplotlib fonts/ttf目录, 使用setuptools慢慢删除其CLI(python setup.py sdist/bdist_wheel)的部分以及使用build(python -m build)的可能性,我决定使用后者构建包裹. 我尝试的 我尝试从过时的 . 我的问题与这篇文章有所不同,因为我想使用python -m build. setup.py import warnings from functools import partial from setuptools import setup from setuptools.command.install import install def _post_install(): # Try to install custom fonts t
2 2024-04-05
编程技术问答社区
Matplotlib构建问题:错误C1083:无法打开include文件:'ft2build.h'。
ft2build.h 位于这里: c:\ program文件\ gnuwin32 \ include 最初,我犯了与这里相同的错误: 致命错误c1083:无法打开包括文件:'tiffio.h':没有这样的文件或目录vc ++ 2008 ,但是从那以后,我纠正了该特定错误(我已将上述目录添加到" inclage"列表中,而不是"可执行文件"列表),但是我仍然会遇到错误.完整的输出是: BUILDING MATPLOTLIB matplotlib: 0.98.5.2 python: 2.6.2 Stackless 3.1b3 060516 (release26-maint, Apr 14 2009, 21:19:36) [MSC v.1500 32 bit (Intel)] platform: win32 Window
10 2024-04-04
编程技术问答社区
Kivy应用程序在安卓系统中崩溃,但在PC中没有。Buildozer 'KeyError: 'kivy.garden.matplotlib'';
版本: python:3.8.5 OS:Manjaro 20.04 Buildozer:1.2.0 Kivy:1.11.1 描述: 我想用命令绘制matplotlib的图形"来自kivy.garden.matplotlib.backend_kivyagg import figurecanvaskivyagg".此命令在PC中起作用,但在Android中不起作用. 规格文件: requirements: python3,kivy==2.0.0rc3,https://github.com/kivymd/KivyMD/archive/master.zip,sdl2_ttf==2.0.15, matplotlib logcat | grep python 09-14 11:32:56.530 17786 18857 I python : KeyError: 'kivy.garden.matplotlib' 09-14 11
2 2024-04-04
编程技术问答社区
Matplotlib-how to break y-axis?
实际上,我一直在尝试,但是我无法根据我的情节代码弄清楚它是如何工作的. 我试图打破(190和390)之间的Y轴,但是我不知道如何使用当前代码来实现此目标.我很感谢您的帮助! 根据照片 ,我解释了休息的位置和我当前的情节插图. import numpy as np import matplotlib import matplotlib.pyplot as plt # include if using a Jupyter notebook # %matplotlib inline # Calculate P1_R1= np.array([133.99993318107406, 131.18684926667854, 135.02452811754503, 133.7042841570604, 135.50609470221127]) P2_R1=np.array([413.523519750599, 416.84725331204925, 408.5133417315719,
2 2024-04-03
编程技术问答社区
如何在IDLE中停止Python程序的执行
我有一个使用plt.show()的python脚本作为最后的说明.当它运行时,闲置只是在上次指令之后悬挂.我得到了图像,但我没有得到提示. 在其他脚本上,我通常会使用ctrl-c打破程序(有时不立即工作),但是如何使用plt.show()返回提示? Ctrl-c不起作用... 还有其他停止程序的方法吗? 如果有任何区别,这是闲置的. 解决方案 在Windows上使用时,我已经看到了闲置和matplotlib的问题.我不知道确切的原因,但是Ctrl-C几次通常对我有用.如果那对您不起作用,则可以使用普通解释器,而不是直接将图片写入文件而不是屏幕. 这是闲置不像普通python脚本或解释器会话的那些(丰富)时代之一.因此,我通常避免闲置. 其他解决方案 Ctrl+F6 (重新启动外壳) 或shell->重新启动外壳 其他解决方案 使用plt.show()时,Python子进程将进入GUI Toolkit的事件循环并阻止,直到事件循环退出为
4 2024-04-03
编程技术问答社区
Python Matplotlib 箱形图
这是我的数据框: {'Parameter': {0: 'A', 1: 'A', 2: 'A', 3: 'A', 4: 'A', 5: 'A', 6: 'A', 7: 'A'}, 'Site': {0: 'S1', 1: 'S2', 2: 'S1', 3: 'S2', 4: 'S1', 5: 'S2', 6: 'S1', 7: 'S2'}, 'Value': {0: 2.3399999999999999, 1: 2.6699999999999999, 2: 2.5600000000000001, 3: 2.8900000000000001, 4: 3.4500000000000002, 5: 4.4500000000000002, 6: 3.6699999999999999, 7: 4.5599999999999996}} 我正在尝试按站点绘制参数的箱形图.什么是最简单的方法?其他问题是,如果我有一个以上的参数,那么使用
8 2024-04-03
编程技术问答社区
在python中绘制箱形图而不对数据进行分组
我想根据存储在另一个数组中的1,0映射(one_zero_map)中的1,0映射( 我有一个工作代码,我只是不确定这是否是最好的方法.任何帮助都会很棒. 我不确定的原因是我猜想如果我直接输入one_zero_map>> and xldata['yaxis_data'],应该有一种直接的方法来理解我想要的东西> %matplotlib inline import matplotlib.pyplot as plt good_ones=[val for ind, val in zip(one_zero_map,xldata['yaxis_data']) if ind==1] bad_ones=[val for ind, val in zip(one_zero_map,xldata['yaxis_data']) if ind==0] final_list=[good_ones,bad_ones] plt.boxplot(final_list) 要更清楚我要寻找的东西
2 2024-04-03
编程技术问答社区
博阵图平均分布
我想在X轴上平均将我的盒装散布.以下代码生成一个图形,其中两个盒子图靠近,两侧都有足够的空间.在生成的情况下,我希望代码无论盒子图的数量如何均匀地散布框图(在此示例中只有两个,但总的来说,有很多). import matplotlib.pyplot as plt statistic_dict = {0.40000000000000002: [0.36003616645322273, 0.40526649416305677, 0.46522159350924536], 0.20000000000000001: [0.11932912803730165, 0.23235825966896217, 0.12380728472472625]} def draw_boxplot(y_values, x_values, edge_color, fill_color): bp = plt.boxplot(y_values, patch_artist=True, positions=x
4 2024-04-03
编程技术问答社区
在方框图中明确设置方框的须线长度
我想使用matplotlib绘制boxplot图. 这是我目前的数字: 这是生成图的代码: pt = plt.boxplot(all_data, sym='+') plt.yticks([0, 0.2, 0.4, 0.6, 0.8, 1.0], ['0', '20%', '40%', '60%', '80%', '100%']) plt.xticks([y + 1 for y in range(len(all_data))], ['WMC', 'DIT', 'CBO', 'RFC', 'LCOM', 'Ca', 'NPM']) mean = [] for line in pt['medians']: x, y = line.get_xydata()[1] # top of median line plt.text(x, y, '%.1f' % x, horizontalalignment='center') # draw above, cente
2 2024-04-03
编程技术问答社区
Matplotlib,沿x轴移动boxplots?
我正在沿两个不同轴绘制多个盒子图. 我的代码看起来像: fig, (ax1, ax2) = plt.subplots(2, sharex=True, sharey=False) data_1 = [array1, array2, array3] ax1.boxplot(data_1, whis=[5,95], showfliers=True) data_2 = [array4, array5] ax2.boxplot(data_2, whis=[5,95], showfliers=True) ax2.set_xlim(0,4) 这会产生一个图片(用我的实际数据替换),看起来像: 但是,我希望下部图(在AX2上)沿X轴向右移动一个单位.也就是说,我想在x = 2和x = 3处绘制2个下部框图,以便它们与第二个和第三个上的盒子图对齐.我想保持所有X轴相同并保持一致. 有什么想法? 解决方案 这应该适用于您的示例代码.但是,该解决方案绕过sharex alig
4 2024-04-03
编程技术问答社区
有2个y轴的分组boxplot,每个x刻度有2个绘图的变量
我正在尝试创造一个每月降雨和洪水频率的18年记录的箱形图.即每个X tick是一个月,每个X tick都与两个盒子图,一个降雨和一个洪水频率相关联.到目前为止,我已经设法使用Seaborn(请参阅以下代码和图像)绘制它们,但是我不知道如何用两个y轴创建框图,我需要,因为每个变量的比例都不同. . 数据看起来像这样(数据集中的Flood_freq的最大值为7,在此不显示): Group Rainfall Flood_freq 0 Jan 115.679997 0 1 Jan 72.929999 0 2 Jan 39.719999 0 3 Jan 46.799999 1 4 Jan 54.989998 0 ... 212 Dec 51.599998 0 213 Dec 45.359999 0 214 Dec 10.260000 0 215 Dec
4 2024-04-03
编程技术问答社区
多列的盒式和晶须图
我正在尝试在数据集上制作一个盒子和晶须图,看起来像这样 - 和我要制作的图表 我当前的代码行在下面 - import seaborn as sns import matplotlib.pyplot as plt d = df3.boxplot(column = ['Northern California','New York','Kansas','Texas'], by = 'Banner') d 谢谢 解决方案 我已经重新创建了您的数据集的虚拟版本: import numpy as np import pandas as pd dictionary = {'Banner':['Type1']*10+['Type2']*10, 'Northen_californina':np.random.rand(20), 'Texas':np.random.rand(20)} df = pd.DataFram
2 2024-04-03
编程技术问答社区
Seaborn Box Plot Legend的问题
我用海洋绘制了一个盒子图. import seaborn as sns sns.set(rc={'figure.figsize':(4,10)}) sns.set_theme(style="whitegrid") plt.rcParams["font.family"] = "Calibri" my_pal = {"Track_Angle_Ctrl": "limegreen", "Track_Angle_KO": "#FF4500"} ax = sns.boxplot(data = Track_Angle, palette = my_pal, linewidth=2.5) plt.title('TRACK ANGLE BOX PLOT DISTRIBUTION',fontsize = "20", pad = 20, fontweight = "bold") plt.xlabel("TRACKS", fontsize = "20", labelpad = 20) plt.ylabe
12 2024-04-03
编程技术问答社区
matplotlib的boxplot与叠加的scatterplot不一致。
我有一个地块,我正在尝试将散布系列叠加在盒子图系列上...这是一个简单的示例,以便您可以重新创建它. import pandas as pd import numpy as np import matplotlib.pyplot as plt names = ['a','b','c','d','e','f'] df = pd.DataFrame(np.random.rand(6,6), columns=names) display(df) plt.boxplot(df, labels=names) plt.show() plt.scatter(names, df.head(1)) plt.show() plt.boxplot(df, labels=names) plt.scatter(names, df.head(1)) plt.show() 结果: 因此,您会看到,当框图和散射都添加到同一图中时,标签不再正确对齐.我该如何修复此对齐? 解决方案 在py
2 2024-04-03
编程技术问答社区