相关疑难解决方法(0)

pylab和pyplot有什么区别?

matplotlib.pyplot和matplotlib.pylab有什么区别?

哪种用法更受青睐?

我有点困惑,因为它似乎独立于我导入,我可以做同样的事情.我错过了什么?

python plot matplotlib

170
推荐指数
1
解决办法
8万
查看次数

Matplotlib(pyplot)savefig输出空白图像

我正在尝试使用matplotlib保存我的图表; 但是,图像保存为空白.

这是我的代码:

plt.subplot(121)
plt.imshow(dataStack, cmap=mpl.cm.bone)

plt.subplot(122)
y = copy.deepcopy(tumorStack)
y = np.ma.masked_where(y == 0, y)

plt.imshow(dataStack, cmap=mpl.cm.bone)
plt.imshow(y, cmap=mpl.cm.jet_r, interpolation='nearest')

if T0 is not None:
    plt.subplot(123)
    plt.imshow(T0, cmap=mpl.cm.bone)

    #plt.subplot(124)
    #Autozoom

#else:
    #plt.subplot(124)
    #Autozoom

plt.show()
plt.draw()
plt.savefig('tessstttyyy.png', dpi=100)
Run Code Online (Sandbox Code Playgroud)

并且tessstttyyy.png是空白的(也尝试使用.jpg)

python image matplotlib figure

136
推荐指数
4
解决办法
13万
查看次数

如何从透明背景的matplotlib导出图?

我使用matplotlib制作一些图表,不幸的是我没有白色背景导出它们.

样本图与纯白色背景

换句话说,当我导出这样的图并将其放在另一个图像的顶部时,白色背景会隐藏它背后的内容,而不是允许它透过.如何导出透明背景的图?

python plot transparency matplotlib

93
推荐指数
2
解决办法
7万
查看次数

Python:如何在烧瓶中显示matplotlib

我对Flask和Matplotlib很新.我希望能够显示我在某些HTML中生成的简单图表,但我很难搞清楚如何.这是我的Python代码:

from flask import Flask, render_template
import numpy as np
import pandas
import matplotlib.pyplot as plt

app = Flask(__name__)
variables = pandas.read_csv('C:\\path\\to\\variable.csv')
price =variables['price']


@app.route('/test')
def chartTest():
    lnprice=np.log(price)
    plt.plot(lnprice)
    return render_template('untitled1.html', name = plt.show())

if __name__ == '__main__':
   app.run(debug = True)
Run Code Online (Sandbox Code Playgroud)

这是我的HTML:

<!doctype html>
<html>
   <body>

      <h1>Price Chart</h1>

      <p>{{ name }}</p>

      <img src={{ name }} alt="Chart" height="42" width="42">

   </body>
</html>
Run Code Online (Sandbox Code Playgroud)

python matplotlib flask

11
推荐指数
2
解决办法
2万
查看次数

networkx:在边缘绘制文本

对于我的论文,我需要绘制一些概率控制流程图.即控制流程图,边缘上描绘的概率.

我发现图形工具看起来非常有用,因为它可以使用现有图形的深层复制,我的图形非常相似.

所以我的问题是,如果有可能在边缘上/旁边绘制边缘属性(或一些字符串)?如果它不可能或非常复杂,那么在这种情况下是否有更好的工具?

编辑: 我需要有向边,甚至可以在2个节点之间创建循环并具有不同的值.这也有可能吗?所以我可以看到两个值?到现在为止,我可以看到带有双向边的有向图,但它只有一个值.

因此,例如在networkx中(参考Hooked),它看起来像:

G = nx.MultiDiGraph()
G.add_edge(0,1)
G.add_edge(1,0)
labels = {(0,1):'foo', (1,0):'bar'}
Run Code Online (Sandbox Code Playgroud)

这样'foo'和'bar'都可见,你可以看到它们连接的方向.

但是当networkx呈现它时,我得到1个带有1个标签的双向边缘.

python graph-theory directed-graph control-flow networkx

9
推荐指数
2
解决办法
6032
查看次数

熊猫数据框架绘图

我有这个Pandas DataFrame

在此输入图像描述

这给了我这个:

在此输入图像描述

我如何能

  1. 做一个新的人物,
  2. 将标题添加到图"标题在这里"
  3. 以某种方式创建一个映射,以便不是标签29,30等,他们说"第29周","第30周"等.
  4. 将更大版本的图表保存到我的电脑(例如10 x 10英寸)

我一直困惑这一小时了!

python plot matplotlib pandas

9
推荐指数
2
解决办法
2万
查看次数

通过vscode的SSH隧道打开一个Matplotlib图

我正在设置一个远程工作站,以便在另一台包含 GPU 的计算机上从我的笔记本电脑运行与机器学习相关的 Python 代码。

我使用 vscode 的 SSH 远程功能来远程运行和调试我的代码,我对界面非常满意。但是,我无法生成来自“matplotlib”库的数字。

我试图修改一些 matlplotlib 选项,但没有成功:

import matplotlib
matplotlib.use('Agg')
Run Code Online (Sandbox Code Playgroud)

按照说明:_tkinter.TclError: no display name and no $DISPLAY environment variable

简而言之,我的问题出现在以下示例代码中:

import numpy as np
from matplotlib import pyplot as plt 

x = np.linspace(0,1,101)
y = x ** 2

plt.close()
plt.figure()
plt.plot(x,y)
plt.show()
Run Code Online (Sandbox Code Playgroud)
~/vscode$ cd /home/*/vscode ; env PYTHONIOENCODING=UTF-8 PYTHONUNBUFFERED=1 /usr/bin/python3 /home/*/.vscode-server/extensions/ms-python.python-2019.6.24221/pythonFiles/ptvsd_launcher.py --default --client --host localhost --port 39903 /home/*/vscode/test_plot.py 
Traceback (most recent call last):
  File "/home/*/.vscode-server/extensions/ms-python.python-2019.6.24221/pythonFiles/ptvsd_launcher.py", line 43, in <module>
    main(ptvsdArgs)
  File "/home/*/.vscode-server/extensions/ms-python.python-2019.6.24221/pythonFiles/lib/python/ptvsd/__main__.py", line …
Run Code Online (Sandbox Code Playgroud)

python ssh tkinter matplotlib visual-studio-code

7
推荐指数
2
解决办法
8607
查看次数

matplotlib:如何创建原始后端

以下程序不适用于非 GUI 环境。我想让这个程序在plt.show调用时将图形保存到一个临时的 png 文件中。

import matplotlib.pyplot as plt
plt.scatter(2,3)
plt.scatter(4,5)
plt.show()
Run Code Online (Sandbox Code Playgroud)

我知道这可以通过使用plt.savefig代替plt.show(cf. Save plot to image file 而不是使用 Matplotlib 显示它) 来解决。但我不想改变程序本身。该程序可能由熟悉在 GUI 环境中使用 matplotlib 的其他用户提供。

所以我考虑将 matplotlib 的后端更改为我自己的后端,从而改变show. 可以通过更改来完成matplotlibrc。但是关于后端的文档只解释了如何选择“内置”后端:https ://matplotlib.org/faq/usage_faq.html ? highlight = backend#coding-styles

文档说backend可以指定为module://my_backend,但是它没有定义my_backend(应该在哪些名称中实现什么样的类/对象?)的“接口”

有没有解释后端接口的文档?(或其他一些解决方法更改行为show?)

python matplotlib

5
推荐指数
1
解决办法
318
查看次数

如何在Python中的Matplotlib中保存图形

我正在尝试将 Matplotlib 中的图形保存到文件中,但是当我运行命令来保存图像时,它不会给出任何错误,但我看不到该文件。

plt.savefig('Traveling Salesmen Graph.png')
Run Code Online (Sandbox Code Playgroud)

python matplotlib

4
推荐指数
1
解决办法
3万
查看次数

无法使用matplotlib.use('Agg'),图形始终显示在屏幕上

我正在研究matplotlib,不知道如何只保存图形而不将其打印在屏幕上。

因此,我已经在Internet上进行了一些研究,很多答案都说解决方案是matplotlib.use('Agg')。而且必须在导入matplotlib.pyplot或pylab之前。

然后,当我在脚本的第一行中添加它时,它根本无法工作。

import matplotlib
matplotlib.use('Agg') 
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

E:\Program Files\Anaconda3\lib\site-packages\matplotlib\__init__.py:1401: UserWarning:  This call to matplotlib.use() has no effect
because the backend has already been chosen;
matplotlib.use() must be called *before* pylab, matplotlib.pyplot,
or matplotlib.backends is imported for the first time.

  warnings.warn(_use_error_msg)
Run Code Online (Sandbox Code Playgroud)

我使用Anaconda Spyder,所以我重新启动了内核并再次运行我的脚本,我得到了同样的错误信息。

然后,我再次重新启动内核,并在控制台中直接键入以下代码:

In[1]: import matplotlib as mpl

In[2]: mpl.use('Agg')

E:\Program Files\Anaconda3\lib\site-packages\matplotlib\__init__.py:1401: UserWarning:  This call to matplotlib.use() has no effect
because the backend has already been chosen;
matplotlib.use() must …
Run Code Online (Sandbox Code Playgroud)

python matplotlib anaconda

2
推荐指数
2
解决办法
1万
查看次数