希望这是一个简单的问题,但目前我无法弄清楚。 我想使用matplotlib显示2个数字,然后交互使用它们。 我创造的数字: import matplotlib import pylab as pl f1 = pl.figure() f2 = pl.figure() 并可以使用类似MATLAB的pyplot接口来绘制和绘制两个graphics。 同 current_figure = pl.gcf() 我可以根据我点击哪个图来确定当前活动的pyplot接口的graphics。现在我想用pyplot接口绘制第一个graphics,但是当前graphics可以是其中之一。 所以有这样的事情 pl.set_current_figure(figure) 或任何解决方法? (我知道我可以使用面向对象的接口,但是使用像plot(x,y)这样的命令的交互式东西要好得多)
我试图通过在Windows 10上的Pycharm IDE使用matplotlib包。当我运行此代码: from matplotlib import pyplot 我得到以下错误: ImportError: No module named 'tkinter' 我知道,在Python 2.x它被称为Tkinter,但这不是问题 – 我刚刚安装了一个全新的Python 3.5.1。 编辑:另外,我也试图导入'tkinter'和'Tkinter' – 这些都没有工作(都返回了我提到的错误消息)。 有任何想法吗? 提前致谢
我正在尝试使用具有不连续X轴的pyplot创build一个图表。 通常的方式是绘制坐标轴,像这样: (值)—- // —-(后面的值) //表示你正在跳过(值)和(后面的值)之间的所有内容。 我一直没有find任何这样的例子,所以我想知道是否有可能。 我知道你可以通过例如财务数据的不连续性来join数据,但是我想让这个轴的跳跃更加明确。 目前我只是使用子图,但我最终希望所有的东西都在同一个图上。
在Python中使用matplotlib从pandas数据matplotlib制作一系列散点图的最佳方法是什么? 例如,如果我有一个数据框df有一些感兴趣的列,我发现自己通常转换所有的数组: import matplotlib.pylab as plt # df is a DataFrame: fetch col1 and col2 # and drop na rows if any of the columns are NA mydata = df[["col1", "col2"]].dropna(how="any") # Now plot with matplotlib vals = mydata.values plt.scatter(vals[:, 0], vals[:, 1]) 在绘图之前把所有东西都转换成数组的问题是,它迫使你摆脱数据框。 考虑以下两种使用情况,其中具有完整的数据框对绘图至关重要: 例如,如果您现在想要查看col3所有值,以查找在调用中绘制的相应值以scatter ,并按照该值对每个点(或大小)进行着色? 你必须回去,拉出col1,col2的非na值col1,col2并检查它们相应的值。 有没有一种方法来绘制,同时保留数据框? 例如: mydata = df.dropna(how="any", subset=["col1", "col2"]) […]
有没有办法使matplotlib行为相同的R,或几乎像R,在绘图默认方面? 例如,R和matplotlib完全不同。 以下直方图 有“浮动轴”与外向蜱,这样就没有内部蜱(不像matplotlib )和轴不会越过“靠近”的原点。 另外,直方图可以“溢出”到未被勾号标记的值 – 例如,x轴在3处结束,但直方图稍微超出了它。 matplotlib所有直方图如何自动实现? 相关问题:散点图和线图在R中有不同的默认轴设置,例如: 没有内部的蜱再次和蜱向外面。 而且,在原点之后(y轴和x轴在轴的左下方交叉)稍微开始滴答,滴答在轴结束之前略微结束。 这样,最低x轴刻度和最低y轴刻度的标签不能真正交叉,因为它们之间有一个空间,这使得情节非常优雅干净的外观。 请注意,在蜱标签和蜱本身之间也有相当多的空间。 此外,默认情况下,未标记的x轴或y轴上没有刻度,表示左侧的y轴与右侧标记的y轴平行,没有刻度,x轴也是一样,再次从地块中消除混乱。 有没有办法让matplotlib看起来像这样? 一般来说,默认情况下,默认的R图是多less? 我非常喜欢matplotlib但是我认为R默认/开箱即可的绘图行为确实已经得到了正确的结果,而且它的默认设置很less会导致重叠的刻度标签,杂乱的或压扁的数据,所以我希望默认值是尽可能地多。
我想从一个使用matplotlib的vector绘制一个归一化的直方图。 我尝试了以下内容: plt.hist(myarray, normed=True) 以及: plt.hist(myarray, normed=1) 但是这两个选项都不能从[0,1]中产生一个y轴,使得直方图的高程值总和为1.我想要生成这样一个直方图 – 我该怎么做? 谢谢!
我正在尝试使用seaborn,因为它的distplot函数。 但我更喜欢默认的matplotlib设置。 当我导入海豹时,它会自动改变我的身材的外观。 我如何使用seaborn函数而不改变图的外观?
我正在编写一个软件系统,通过3D数据集可视化切片和投影。 我正在使用matplotlib ,特别是imshow来显示我从分析代码中得到的图像缓冲区。 由于我想使用绘图轴标注图像,因此我使用imshow提供的extent关键字将图像缓冲区像素坐标映射到数据空间坐标系。 不幸的是, matplotlib不知道单位。 说(以一个人为的例子),我想绘制一个尺寸为1000 m X 1 km的图像。 在这种情况下,范围将是[0, 1000, 0, 1] 。 即使图像数组是正方形的,由于extent关键字隐含的宽高比为1000,所得的绘图轴也具有1000的宽高比。 是否可以强制的情节的纵横比,同时仍然保持自动生成的主要刻度和标签,我得到了使用关键字?
当我运行这个代码 import pandas as pd import numpy as np def add_prop(group): births = group.births.astype(float) group['prop'] = births/births.sum() return group pieces = [] columns = ['name', 'sex', 'births'] for year in range(1880, 2012): path = 'yob%d.txt' % year frame = pd.read_csv(path, names = columns) frame['year'] = year pieces.append(frame) names = pd.concat(pieces, ignore_index = True) total_births = […]
我想将y轴的上限设置为“自动”,但是我想保持y轴的下限始终为零。 我尝试过“自动”和“自动调整”,但这些似乎并不奏效。 先谢谢你。 这是我的代码: import matplotlib.pyplot as plt def plot(results_plt,title,filename): ############################ # Plot results # mirror result table such that each parameter forms an own data array plt.cla() #print results_plt XY_results = [] XY_results = zip( *results_plt) plt.plot(XY_results[0], XY_results[2], marker = ".") plt.title('%s' % (title) ) plt.xlabel('Input Voltage [V]') plt.ylabel('Input Current [mA]') plt.grid(True) plt.xlim(3.0, 4.2) […]