GVKun编程网logo

情节:在绘制列时如何手动更改图例项? 简短答案:一些细节:完整答案: 1为什么px.line(data, x="year", y="pop1", title='Population') 图1 2如何手动修复图例并不断添加痕迹?图2.1 图2.2 完整代码:

4

对于情节:在绘制列时如何手动更改图例项?简短答案:一些细节:完整答案:1为什么px.line(data,x="year",y="pop1",title='Population')图12如何手动修复图例

对于情节:在绘制列时如何手动更改图例项? 简短答案:一些细节:完整答案: 1为什么px.line(data, x="year", y="pop1", title='Population') 图1 2如何手动修复图例并不断添加痕迹?图2.1 图2.2 完整代码:感兴趣的读者,本文将提供您所需要的所有信息,并且为您提供关于.net核心Web应用程序docker映像如何在Mac OS上运行? 简短答案:长答案:、asp.net – 什么时候调用Application_End,我该如何手动导致这个?、asp.net – 如何手动调用ValidationAttributes? (DataAnnotations和ModelState)、Automatically populating $HTTP_RAW_POST_DATA is deprecated的宝贵知识。

本文目录一览:

情节:在绘制列时如何手动更改图例项? 简短答案:一些细节:完整答案: 1为什么px.line(data, x=

情节:在绘制列时如何手动更改图例项? 简短答案:一些细节:完整答案: 1为什么px.line(data, x="year", y="pop1", title='Population') 图1 2如何手动修复图例并不断添加痕迹?图2.1 图2.2 完整代码:

如何解决情节:在绘制列时如何手动更改图例项? 简短答案:一些细节:完整答案: 1为什么px.line(data, x="year", y="pop1", title=''Population'') 图1 2如何手动修复图例并不断添加痕迹?图2.1 图2.2 完整代码:?

多年来,我拥有以下两个国家的熊猫数据框:

>>>year   pop1            pop2
0   1   1.000000e+08    1.000000e+08
1   2   9.620000e+07    9.970000e+07
2   3   9.254440e+07    9.940090e+07
3   4   8.902771e+07    9.910270e+07
4   5   8.564466e+07    9.880539e+07

我想创建绘图线,以便y值会弹出列:

fig = px.line(data,x="year",y="pop1",title=''Population'')

fig.add_scatter(x=data[''year''],y=data[''pop2''],mode=''lines'')

fig.show()

结果如下:

enter image description here

我的问题是图例仅显示一行,并且似乎无法控制(例如,将其从mtrace更改为pop1和pop 2)。我已经看到可以使用“颜色”选项,但是在绘制列时似乎是不可能的。

我在这里的最终目标是能够控制图例-将列名(pop1和pop2)作为图例项。

解决方法

简短答案:

要使解决方案接近您的原始设置,您可以执行以下操作:

fig = px.line(data,x="year",y="pop1",title=''Population'')
fig.data[0].name="pop1"
fig.update_traces(showlegend=True)
fig.add_scatter(x=data[''year''],y=data[''pop2''],mode=''lines'',name = "pop2")

一些细节:

@TeejayBruno评论表中的建议将解决您的问题。但是那里描述的方法与您描述的步骤根本不同。而且我怀疑您为什么要先使用

来建立图形是有原因的
fig = px.line(data,title=''Population'')

然后使用以下命令添加新跟踪:

fig.add_scatter(x=data[''year''],mode=''lines'')

所以我认为我要阐明为什么第一步后图例“丢失”的原因,然后在步骤2中添加更多迹线时如何确保图例中包含“ pop1”


完整答案:


1。为什么px.line(data,title=''Population'')

缺少图例

对此有一个很好的解释。看下面的情节。当px.line仅拾取一条轨迹时,它决定图例是多余的,并且可以更自然地将信息显示为y轴的标签。我非常同意剧情开发人员在此处所做的决定:

图1

enter image description here

但是,当用户决定通过添加通过fig.add_scatter()的迹线来建立该图形时,这没有多大意义。这就是您偶然发现的确切内容。

2。如何手动修复图例并不断添加痕迹?

当您将fig = px.line(data,y=["pop1","pop2"],title=''Population'')与多个y类别一起使用时,px.line可以理解,将所有这些信息显示为y轴的标签名称已经没有多大意义了,并且会像下图中的绿色圆圈。同时,在红色圆圈中,y轴标签被重命名为"value"

enter image description here

在幕后还发生了什么,fig对象的数据属性分别命名为"pop1""pop2"

<bound method BaseFigure.show of Figure({
    ''data'': [{''hovertemplate'': ''variable=pop1<br>year=%{x}<br>value=%{y}<extra></extra>'',''legendgroup'': ''pop1'',''line'': {''color'': ''#636efa'',''dash'': ''solid''},''mode'': ''lines'',''name'': ''pop1'',''orientation'': ''v'',''showlegend'': True,''type'': ''scatter'',''x'': array([1,2,3,4,5],dtype=int64),''xaxis'': ''x'',''y'': array([1.000000e+08,9.620000e+07,9.254440e+07,8.902771e+07,8.564466e+07]),''yaxis'': ''y''},{''hovertemplate'': ''variable=pop2<br>year=%{x}<br>value=%{y}<extra></extra>'',''legendgroup'': ''pop2'',''line'': {''color'': ''#EF553B'',''name'': ''pop2'',

其中包含解决方案,您可以根据需要调整图例属性:

1。。请确保使用''name'': ''pop1''的第一条跟踪记录是fig.data[0].name="pop1"

2。。设置图形以显示带有fig.update_traces(showlegend=True)的图例中的迹线名称(图2.1)。

3。。使用fig.add_scatter(x=data[''year''],name = "pop2")包括所有连续跟踪的名称(图2.2)。

4。。将y轴标签重命名为您想要使用的名称,例如fig.update_yaxes(title=dict(text=''People''))

图2.1

enter image description here

图2.2

enter image description here

完整代码:

import plotly.graph_objs as go
import plotly.express as px
import pandas as pd

data = pd.DataFrame({''year'': {0: 1,1: 2,2: 3,3: 4,4: 5},''pop1'': {0: 100000000.0,1: 96200000.0,2: 92544400.0,3: 89027710.0,4: 85644660.0},''pop2'': {0: 100000000.0,1: 99700000.0,2: 99400900.0,3: 99102700.0,4: 98805390.0}})

fig = px.line(data,title=''Population'')
#fig = px.line(data,title=''Population'')
fig.data[0].name="pop1"
fig.update_traces(showlegend=True)

fig.add_scatter(x=data[''year''],name = "pop2")#
fig.update_yaxes(title=dict(text=''People''))
fig.show()

.net核心Web应用程序docker映像如何在Mac OS上运行? 简短答案:长答案:

.net核心Web应用程序docker映像如何在Mac OS上运行? 简短答案:长答案:

简短答案:

因为.NET Core是跨平台的。 docker可在Mac和Windows上运行(从理论上讲,与Linux一样),该映像在任何平台上都可以正常工作。

mcr.microsoft.com/dotnet/core/sdk:3.1与平台有关。根据您选择运行Docker的体系结构,它将选择Windows Nano服务器或Linux模板。

长答案:

Docker不是VM技术。这是一项Linux功能,可为您提供隔离的环境。在Windows和Mac上无法使用Docker。 Docker使用Linux功能并在Linux环境中插入应用程序(及其相关的依赖项),并产生了运行该应用程序所需的资源(网络,RAM,磁盘,软件框架)的幻觉。

在Windows和Mac上。 Docker安装了Linux VM。并在VM内运行Docker infra。

docker info这样的

命令将提供更多详细信息。下图显示了它正在Linux上运行。

enter image description here

切换到Windows docker将为docker info命令提供不同的输出。

enter image description here

asp.net – 什么时候调用Application_End,我该如何手动导致这个?

asp.net – 什么时候调用Application_End,我该如何手动导致这个?

我知道当IIS回收应用程序池时会调用此事件的事件处理程序,但是什么时候会发生?如果使用内置的Visual Studio服务器(Cassini)呢?如果我终止服务器进程,Application_End会被触发吗?

更新:我知道web.config和BIN文件夹更改.我对应用程序闲置一段时间后关闭池而不触及任何内容感兴趣.

解决方法

与 Nick said一样,“当应用程序池配置中出现某些回收限制时,应用程序池将回收.”在IIS中,您可以在应用程序池设置中设置回收条件.您可以使用固定间隔(每X分钟或请求),特定时间或基于内存的最大值(MB(最大虚拟内存或最大专用内存))或其中任何一种的组合.您还可以在几分钟内设置空闲超时,然后终止工作进程.

IIS Recycling Settings http://i41.tinypic.com/2j13k1v.png

IIS Advanced Settings http://i42.tinypic.com/s2gz6t.png

asp.net – 如何手动调用ValidationAttributes? (DataAnnotations和ModelState)

asp.net – 如何手动调用ValidationAttributes? (DataAnnotations和ModelState)

我们需要在一些逻辑中迭代模型的属性以自动绑定属性,并希望扩展功能以在C#4.0中包含新的数据注释.

目前,我基本上遍历所有ValidationAttribute实例中的每个属性加载并尝试使用Validate / IsValid函数进行验证,但这似乎对我没有用.

作为一个例子,我有一个模型,如:

public class HobbyModel
{
    [required(AllowEmptyStrings = false,ErrorMessage = "Do not allow empty strings")]
    [displayName("Hobby")]
    [DataType(DataType.Text)]
    public string Hobby
    {
        get;
        set;
    }
}

检查属性的代码是:

object[] attributes = propertyInfo.GetCustomAttributes(true);
TypeConverter typeConverter =
TypeDescriptor.GetConverter(typeof(ValidationAttribute));

bool isValid = false;
foreach (object attr in attributes)
{
   ValidationAttribute attrib = attr as ValidationAttribute;

   if (attrib != null)
   {
     attrib.Validate(obj,propertyInfo.Name);
   }
}

我调试了代码,模型确实有3个属性,其中2个是从ValidationAttribute派生的,但是当代码通过Validate函数(带有空值或空值)时,它会按预期抛出异常.

我期待我做一些愚蠢的事情,所以我想知道是否有人使用过这个功能并且可以提供帮助.

提前致谢,
杰米

解决方法

这是因为您将源对象传递给 Validate方法,而不是属性值.以下更有可能按预期工作(尽管显然不适用于索引属性):

attrib.Validate(propertyInfo.GetValue(obj,null),propertyInfo.Name);

不过,你肯定会更容易using the Validator class作为Steven suggested.

Automatically populating $HTTP_RAW_POST_DATA is deprecated

Automatically populating $HTTP_RAW_POST_DATA is deprecated

重新搭建了一个PHP运行环境,发现运行项目时报如下错误:

Automatically populating $HTTP_RAW_POST_DATA is deprecated and will be removed in a future version. To avoid this warning set ‘always_populate_raw_post_data’ to ‘-1’ in PHP.ini and use the PHP://input stream instead. in UnkNown on line 0

查找原因后,发现错误原因如下: 官方在PHP5.6就把$HTTP_RAW_POST_DATA废弃了,而且在PHP7中把它移除了。因为这个参数影响性能,所以要废弃掉,官方建议用PHP://input来代替。

解决办法: 修改PHP.ini

always_populate_raw_post_data = -1

今天的关于情节:在绘制列时如何手动更改图例项? 简短答案:一些细节:完整答案: 1为什么px.line(data, x="year", y="pop1", title='Population') 图1 2如何手动修复图例并不断添加痕迹?图2.1 图2.2 完整代码:的分享已经结束,谢谢您的关注,如果想了解更多关于.net核心Web应用程序docker映像如何在Mac OS上运行? 简短答案:长答案:、asp.net – 什么时候调用Application_End,我该如何手动导致这个?、asp.net – 如何手动调用ValidationAttributes? (DataAnnotations和ModelState)、Automatically populating $HTTP_RAW_POST_DATA is deprecated的相关知识,请在本站进行查询。

本文标签: