小编ves*_*and的帖子

Matplotlib:如何水平显示图例元素?

我想指定图例是垂直显示还是水平显示。我的意思不是说Matplotlib图例垂直旋转中描述的图例文本。我的实际案例包括使用小部件指定的任意数量的系列。但是以下示例代表了挑战的要点:

片段:

# Imports
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np

# data
np.random.seed(123)
x = pd.Series(np.random.randn(100),index=pd.date_range('1/1/2000', periods=100)).cumsum()
y = pd.Series(np.random.randn(100),index=pd.date_range('1/1/2000', periods=100)).cumsum()
z = pd.Series(np.random.randn(100),index=pd.date_range('1/1/2000', periods=100)).cumsum()
df = pd.concat([x,y,z], axis = 1)

# plot 
ax = plt.subplot()
for col in (df.columns):
    plt.plot(df[col])
plt.legend(loc="lower left")
plt.xticks(rotation=90)
plt.show()
Run Code Online (Sandbox Code Playgroud)

情节:

在此处输入图片说明

默认布局似乎是垂直的。查看help(ax.legend)文档的细节,似乎没有一种直接的方法可以将其更改为水平。还是在那里?


编辑-所需的图例:(使用MS Paint)

在此处输入图片说明

python matplotlib

5
推荐指数
3
解决办法
917
查看次数

Plotly:如何设置热图纵横比?

我有一个单通道图像,其中每个整数像素值映射到一个字符串。例如 5 -> '人'。我正在尝试创建一个交互式图像,其中将鼠标悬停在像素上将显示其相应的字符串。

我认为使用绘图热图可能是做到这一点的方法。我遇到的问题是:

  • 真的很慢。如果我将 numpy 数组设置为偶数 (100,100) 大小,则加载需要几分钟的时间。我想这可能是因为我的代码效率不高?
  • 我不知道如何保持纵横比。因此,如果我的图像是大小为 (100,100) 的 numpy 数组,我希望绘图也为 (100,100) 像素。
  • 使用空白值z_text似乎是一个糟糕的解决方法,但设置annotation_text=None似乎不起作用。

有人可以帮我从这里出去吗?这是我所得到的:

import numpy as np
import plotly.graph_objs as go
from plotly.offline import download_plotlyjs, init_notebook_mode, plot, iplot
init_notebook_mode(connected=True)
import plotly.figure_factory as ff

z = np.random.randint(0,6, size=(10, 10))
z_text = np.full(z.shape, '', dtype=str)

d = {0:'a', 1:'b', 2:'c', 3:'d', 4:'e', 5:'f'}
class_mat = np.vectorize(d.get)(z)

fig = ff.create_annotated_heatmap(z, annotation_text=z_text, text=class_mat, hoverinfo='text', colorscale='Viridis', )
fig.layout.title = 'Semantic Segmentation'

iplot(fig, filename='annotated_heatmap_text')
Run Code Online (Sandbox Code Playgroud)

这是它目前的样子:

在此输入图像描述

另外,如果情节热图不是解决此问题的最佳方法,我很想听到任何替代方案! …

python heatmap plotly semantic-segmentation

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

如何将Jupyter Notebook连接到Spyder内核?

相关文章的答案如何连接到现有的Jupyter Notebook内核并使用变量浏览器检查变量?似乎不可能。但是,如果我们尝试将Jupyter Notebook连接到spyder内核该怎么办?那么,能否将内核提供给Jupyter Notebook,Spyder Spyder中的Variable Explorer?

Spyder IDE连接到远程IPython内核的文章使听起来有些可能:

在Jupyter笔记本中进行数据科学很有趣,但有时您需要能够使用Spyder中的便捷变量浏览器戳入变量。

将Spyder连接到远程内核就像笔记本一样简单。我将引导您完成整个过程。

但是我无法重现该示例,并且有些担心我不太了解作者在整篇文章中的含义。


这是我尝试过的:


1. conda install spyder-kernels工作正常。

2.一样python -m spyder_kernels.console?

在此处输入图片说明

但是我在其余的方面都遇到了问题,并且这篇文章也没有谈到将Jupyter Notebook连接到--existing kernel-19909.json。我的零件也有问题python -m spyder_kernels.console?—?matplotlib=’inline’?—?ip=x.x.x.x -f=./remotemachine.json

关于如何进一步做到这一点有什么建议吗?

系统信息:

The version of the notebook server is: 5.6.0
CPython 3.7.0
IPython 6.5.0
compiler   : MSC v.1912 64 bit (AMD64)
system     : Windows
release    : 7
machine    : AMD64
CPU cores  : 8
interpreter: 64bit
Run Code Online (Sandbox Code Playgroud)

python jupyter-notebook

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

Plotly - 如何制作没有盒子的箱线图?

我试图在 python 中使用plotly来创建箱线图,但我只想要点,而不是盒子、晶须或其他任何东西。像这样的东西: 在此输入图像描述

找不到办法做到这一点。我能做的最好的就是 set ,但这只显示框 之外的boxpoints='all'点:在此输入图像描述

这可能吗?有解决方法的想法吗?

python plotly plotly-python

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

Plotly:如何在甘特图上标记条形?

有没有什么方法可以在 Plotly 甘特图中创建任务标签在条形图上和资源标签在 y 轴上?

文档中没有这样的例子plotly.figure_factory.create_gantt。下面给出了理想图表的抽象示例:

在此输入图像描述

python visualization gantt-chart plotly

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

绘制 yaxis2 手动缩放

我有一个破折号仪表板,我似乎无法重新调整我的辅助 y 轴。有没有办法做到这一点?我试过弄乱 go.Layout 中的域参数和范围参数。我需要按比例缩小音量条形图并占据绘图高度的 10%,这样它就不会与我的烛台重叠。

非常感谢。任何帮助表示赞赏。

烛台图表

import pandas as pd
import pandas_datareader.data as web
import plotly.offline as pyo
import plotly.graph_objs as go


stock_ticker='AAPL'
start_date='2019-04-01'
end_date='2019-05-22'


data=[]

hist_stock_df = web.DataReader(stock_ticker,'iex',start_date, end_date)



data.append(go.Candlestick(x=hist_stock_df.index,
                            open=hist_stock_df['open'],
                            high=hist_stock_df['high'],
                            low=hist_stock_df['low'],
                            close=hist_stock_df['close'],
                            name='AAPL'))

data.append(go.Bar(x=hist_stock_df.index,
                    y=hist_stock_df['volume'].values,
                    yaxis='y2'))
                    #y0=1000000

layout=go.Layout(title= 'Candestick Chart of AAPL',
                xaxis=dict(title='Date',rangeslider=dict(visible=False)),
                yaxis=dict(title='Price'),
                plot_bgcolor='#9b9b9b',
                paper_bgcolor='#9b9b9b',
                font=dict(color='#c4c4c4'),
                yaxis2=dict(title='Volume',
                            overlaying='y',
                            side='right'))
                            #scaleanchor='y'))
                            #scaleratio=0.00000001,
                            #rangemode='tozero',
                            #constraintoward='bottom',
                            #domain=[0,0.1]))


fig = go.Figure(data=data, layout=layout)

pyo.iplot(fig)
Run Code Online (Sandbox Code Playgroud)

我试过弄乱注释的参数

更新

通过这种布局参数的组合,我设法重新调整了条形图,但现在有两个 x 轴,我一直试图弄清楚如何将中间的 x 轴降低。

更新参数

layout=go.Layout(title= 'Candestick Chart of AAPL',
                xaxis=dict(title='Date',rangeslider=dict(visible=False)),
                yaxis=dict(title='Price'),
                plot_bgcolor='#9b9b9b',
                paper_bgcolor='#9b9b9b', …
Run Code Online (Sandbox Code Playgroud)

python axis scale plotly

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

在Python中绘制带有图例的垂直线

在plotly网站中,有一个示例可以使用shape函数在plotly中添加垂直或水平线。

import plotly.plotly as py
import plotly.graph_objs as go

trace0 = go.Scatter(
    x=[2, 3.5, 6],
    y=[1, 1.5, 1],
    mode='text',
)
data = [trace0]
layout = {
    'xaxis': {
        'range': [0, 7]
    },
    'yaxis': {
        'range': [0, 2.5]
    },
    'shapes': [
        # Line Horizontal
        {
            'type': 'line',
            'x0': 2,
            'y0': 2,
            'x1': 5,
            'y1': 2,
            'line': {
                'color': 'rgb(50, 171, 96)',
                'width': 4,
                'dash': 'dashdot',
            }
        }
    ]
}

fig = {
    'data': data,
    'layout': layout,
}

py.iplot(fig, filename='shapes-lines') …
Run Code Online (Sandbox Code Playgroud)

python python-3.x plotly

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

如何在python中使用plotly方法添加标题和副标题

我正在尝试使用 plotly 绘制条形图,我想添加标题和副标题。(在这里,您可以选择添加标题和副标题的任何示例)
我绘制条形图的代码:

import plotly.graph_objects as go  

fig = go.Figure()       

fig.add_trace(go.Bar(x=["Apple", 'Mango', 'Banana'], y=[400, 300, 500])) 

fig.show()
Run Code Online (Sandbox Code Playgroud)

python plotly plotly-python

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

如何制作绘图图形对象的副本?

如何复制绘图图形对象以进行一些更改,但为其他绘图保留相同的基本结构?

以下引发属性错误:

代码:

fig2=fig1.copy()
Run Code Online (Sandbox Code Playgroud)

错误:

属性错误:“图形”对象没有属性“复制”

当然fig2=fig1不会有帮助,因为两个名称将指向同一个对象。

python plotly plotly-python

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

Plotly:如何使用下拉菜单过滤 Pandas 数据框?

我有一个数据框并使用plotly我想可视化数据。我有以下代码

fig = px.line(df, x="row_num", y="audienceWatchRatio", color='vid_id')
fig.show() 
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

它真的很乱,所以我想要一个下拉菜单,用户可以在其中选择vid_id并且它只显示 1 个图形。

python plotly plotly-python

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