小编tmd*_*son的帖子

获取默认线条颜色循环

我注意到你绘制的第一行是蓝色,然后是绿色,然后是红色,依此类推.

有没有办法访问这个颜色列表?我已经看过一百万篇关于如何更改颜色循环或访问迭代器的帖子,而不是如何获取matplotlib默认循环的颜色列表.

matplotlib

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

我可以在python中重复一个字符串格式描述符吗?

在fortran中,我能够重复格式描述符以保存多次重写,例如:

write(*,'(i5,i5,i5,i5,i5)')a,b,c,d,e
Run Code Online (Sandbox Code Playgroud)

可以改写为

write(*,'(5(i5))')a,b,c,d,e
Run Code Online (Sandbox Code Playgroud)

可以在python中使用类似的方法吗?

例如,假设我想在python中执行相同的操作,我必须写:

print "{0:5d} {1:5d} {2:5d} {3:5d} {4:5d}".format(a,b,c,d,e)
Run Code Online (Sandbox Code Playgroud)

有没有办法重复格式描述符,比如fortran?

python string-formatting

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

Matplotlib:使用imshow显示数组值

我正在尝试使用类似matplotlib函数创建网格imshow.
从这个数组:

[[ 1  8 13 29 17 26 10  4],
[16 25 31  5 21 30 19 15]]
Run Code Online (Sandbox Code Playgroud)

我想在同一网格上将值绘制为颜色和文本值本身(1,2,...).这就是我目前所拥有的(我只能绘制与每个值相关联的颜色):

from matplotlib import pyplot
import numpy as np

grid = np.array([[1,8,13,29,17,26,10,4],[16,25,31,5,21,30,19,15]])
print 'Here is the array'
print grid

fig1, (ax1, ax2)= pyplot.subplots(2, sharex = True, sharey = False)
ax1.imshow(grid, interpolation ='none', aspect = 'auto')
ax2.imshow(grid, interpolation ='bicubic', aspect = 'auto')
pyplot.show()   
Run Code Online (Sandbox Code Playgroud)

python numpy matplotlib imshow

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

如何为hist2d图添加颜色条

好吧,我知道如何直接用图形创建图形时为图形添加颜色条matplotlib.pyplot.plt.

from matplotlib.colors import LogNorm
import matplotlib.pyplot as plt
import numpy as np

# normal distribution center at x=0 and y=5
x = np.random.randn(100000)
y = np.random.randn(100000) + 5

# This works
plt.figure()
plt.hist2d(x, y, bins=40, norm=LogNorm())
plt.colorbar()
Run Code Online (Sandbox Code Playgroud)

但是为什么以下不起作用,我需要添加什么colorbar(..)才能使其工作.

fig, ax = plt.subplots()
ax.hist2d(x, y, bins=40, norm=LogNorm())
fig.colorbar()
# TypeError: colorbar() missing 1 required positional argument: 'mappable'

fig, ax = plt.subplots()
ax.hist2d(x, y, bins=40, norm=LogNorm())
fig.colorbar(ax)
# AttributeError: 'AxesSubplot' object has no attribute 'autoscale_None'

fig, ax …
Run Code Online (Sandbox Code Playgroud)

python matplotlib

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

在python中绘制图像背景

我想使用matplotlib在图像背景上绘制图形.我在matlab中找到了如何做到这一点http://www.peteryu.ca/tutorials/matlab/plot_over_image_background

我尝试过像这样基本的东西:

im = plt.imread("dd.png")
implot = plt.imshow(im)
theta=np.linspace(0,2*np.pi,50)
z=np.cos(theta)*39+145
t=np.sin(theta)*39+535-78+39
plt.plot(z,t)
plt.show()
Run Code Online (Sandbox Code Playgroud)

但它给了我一些非常丑陋的东西:

一些非常难看的东西

background image matplotlib

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

通过验证绑定到双字段

我试图绑定TextBoxdouble一些对象的属性UpdateSourceTrigger=PropertyChanged.目标是在编辑期间立即验证输入的值是否在允许的范围内(如果没有则显示错误).我想在Model级别上实现验证,即通过IDataErrorInfo.

当我绑定到int属性时,所有工作都很好,但如果属性为double,则会出现令人沮丧的编辑行为:在删除数字的小数部分中的最后一个有效数字后 - 小数分隔符将自动擦除(包含所有可能的小数零).例如,在从数字'12 .03'中删除数字'3'之后,文本被改为'12'而不是'12 .0'.

请帮忙.

以下是示例代码:

MainWindow.xaml:

<Window x:Class="BindWithValidation.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="80" Width="200" WindowStartupLocation="CenterOwner">

  <StackPanel>
    <TextBox Width="100" Margin="10" Text="{Binding DoubleField, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True}">
      <TextBox.Style>
        <Style TargetType="TextBox">
          <Style.Triggers>
            <Trigger Property="Validation.HasError" Value="true">
              <Setter Property="ToolTip" Value="{Binding RelativeSource={RelativeSource Self}, Path=(Validation.Errors)[0].ErrorContent}"/>
            </Trigger>
          </Style.Triggers>
        </Style>
      </TextBox.Style>
    </TextBox>
  </StackPanel>
</Window>
Run Code Online (Sandbox Code Playgroud)

MainWindow.xaml.cs:

namespace BindWithValidation
{
  public partial class MainWindow : Window
  {
    private UISimpleData _uiData = new UISimpleData();

    public MainWindow()
    {
      InitializeComponent();
      DataContext = _uiData;
    }
  }
} …
Run Code Online (Sandbox Code Playgroud)

wpf binding

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

如何在matplotlib中用datetime绘制ohlc烛台?

我需要每隔5分钟(一支蜡烛)绘制交易数据

这是我到目前为止:

from matplotlib.finance import candlestick2_ohlc
fig, ax = plt.subplots()
candlestick2_ohlc(ax,quotes['open'],quotes['high'],quotes['low'],quotes['close'],width=0.6)
Run Code Online (Sandbox Code Playgroud)

它看起来像这样:

结果

我需要改进它:

  1. 蓝色标记显示xticks显示int,我希望它们的datetime格式.

  2. 红色标记显示状态栏中的x值.我希望它也是datetime格式化的.

这是quotes演示数据:

array([ (1459388100, 29.799999237060547, 29.799999237060547, 29.799999237060547, 29.799999237060547, 148929.0, 450030016.0),
   (1459388400, 29.799999237060547, 29.979999542236328, 29.709999084472656, 29.920000076293945, 10395.0, 31069984.0),
   (1459388700, 29.959999084472656, 30.18000030517578, 29.719999313354492, 30.149999618530273, 38522.0, 114999968.0),
   (1459389000, 30.170000076293945, 30.479999542236328, 30.0, 30.149999618530273, 29823.0, 90220032.0),
   (1459389300, 30.149999618530273, 30.75, 30.1299991607666, 30.549999237060547, 38903.0, 118620032.0),
   (1459389600, 30.59000015258789, 30.93000030517578, 30.559999465942383, 30.65999984741211, 42308.0, 130000000.0),
   (1459389900, 30.6200008392334, 30.690000534057617, 30.3799991607666, 30.3799991607666, 20209.0, 61689984.0),
   (1459390200, 30.3700008392334, 30.489999771118164, 30.18000030517578, …
Run Code Online (Sandbox Code Playgroud)

python numpy matplotlib

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

用matplotlib和numpy在图像上绘制圆圈

我有浮动 x/y阵列,其中包含圆心.

import matplotlib.pylab as plt
import numpy as np
npX = np.asarray(X)
npY = np.asarray(Y)
plt.imshow(img)
// TO-DO
plt.show()
Run Code Online (Sandbox Code Playgroud)

我想通过使用这个中心在我的图像上显示圆圈.我怎样才能实现这一目标?

python plot numpy matplotlib imshow

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

使matplotlib标题的一部分加粗和不同的颜色

我想将标题的一部分改为粗体.例如:

plt.title("This is title number: " + str(number))
Run Code Online (Sandbox Code Playgroud)

鉴于如上所述的标题,我将如何加粗该str(number)部分.

python matplotlib

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

在seaborn热图中分隔组的线

我正在将数据绘制为Python中的Seaborn热图.我的数据本质上被分为几类,我想在图上有线条来指示这些组在地图上的位置.举个简单的例子,假设我想从文档中修改这个图...

import seaborn as sns; sns.set()
flights = sns.load_dataset("flights")
flights = flights.pivot("month", "year", "passengers")
ax = sns.heatmap(flights, cbar=False)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我想通过制作如下图所示的情节来强调一年中四分之一的比较; 我该怎么办?

在此输入图像描述

python matplotlib heatmap seaborn

13
推荐指数
1
解决办法
5168
查看次数