我注意到你绘制的第一行是蓝色,然后是绿色,然后是红色,依此类推.
有没有办法访问这个颜色列表?我已经看过一百万篇关于如何更改颜色循环或访问迭代器的帖子,而不是如何获取matplotlib默认循环的颜色列表.
在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?
我正在尝试使用类似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) 好吧,我知道如何直接用图形创建图形时为图形添加颜色条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) 我想使用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)
但它给了我一些非常丑陋的东西:
我试图绑定TextBox
到double
一些对象的属性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) 我需要每隔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)
它看起来像这样:
我需要改进它:
蓝色标记显示xticks
显示int
,我希望它们的datetime
格式.
红色标记显示状态栏中的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) 我有浮动 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)
我想通过使用这个中心在我的图像上显示圆圈.我怎样才能实现这一目标?
我想将标题的一部分改为粗体.例如:
plt.title("This is title number: " + str(number))
Run Code Online (Sandbox Code Playgroud)
鉴于如上所述的标题,我将如何加粗该str(number)
部分.
我正在将数据绘制为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)
我想通过制作如下图所示的情节来强调一年中四分之一的比较; 我该怎么办?