我的问题是如何在更改它们后恢复matplotlib默认轴刻度.例如,在下面的代码中,我绘制了1到9的数字平方,然后将yticks更改为[20,40,60].在我更改之前,此图的默认yticks是[0,10,20,30,40,50,60,70,80].所以,从现在开始,我怎样才能恢复那些默认的yticks?
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(9) + 1
y = x ** 2
fig, ax1 = plt.subplots()
ax1.plot(x, y)
ax1.set_yticks([20, 40, 60])
plt.show()
Run Code Online (Sandbox Code Playgroud) 我正在尝试在Django中实现条纹支付系统。要添加卡付款,我遵循了此链接中的指南。在Django模板中添加HTML标记以及CSS和JS代码作为单独的静态文件后,在Firefox中出现以下控制台错误:
Content Security Policy: The page’s settings blocked the loading of a resource at inline (“script-src”)
Run Code Online (Sandbox Code Playgroud)
我从上述错误消息中了解到的是,<script src="https://js.stripe.com/v3/"></script>JS文件包含指向其他JS文件的链接,而Firefox阻止了此类连接。应当注意,在此阶段,测试信用卡付款正在按预期方式工作,并且客户借记的金额已添加到我的条纹帐户的测试余额中。为了解决此阻塞问题,我遵循了此链接中的说明。因此,我meta在Django模板中添加了以下标记:
<meta http-equiv="Content-Security-Policy" content="connect-src https://api.stripe.com; frame-src https://js.stripe.com https://hooks.stripe.com; script-src https://js.stripe.com" />
Run Code Online (Sandbox Code Playgroud)
添加上述Content-Security-Policy指令后,Firefox控制台不再显示上述阻止错误,但是这次我的静态JS文件被阻止了。我修改了如下指令以允许我的JS文件('self在'script-src'指令中添加了' ):
<meta http-equiv="Content-Security-Policy" content="connect-src https://api.stripe.com; frame-src https://js.stripe.com https://hooks.stripe.com; script-src 'self' https://js.stripe.com" />
Run Code Online (Sandbox Code Playgroud)
并且这一次之前提到的内联脚本阻止错误再次出现在Firefox控制台中。:)
您能帮我解决这个问题吗?关于Firefox控制台错误的原因,我的理解正确吗?为什么实施的解决方案不起作用?
编辑
考虑到付款按预期进行并且Chromium浏览器未在开发人员工具上记录任何错误,难道仅仅是Firefox的错误?
django firefox inline-scripting stripe-payments content-security-policy
我尝试在模型的管理页面之一中使用django.forms.ModelMultipleChoiceField,以便m2m通过表单更新关系。我还指定django.contrib.admin.widgets.FilteredSelectMultiple为表单字段的小部件并成功实现了我的目的。问题是,由于我有超过 10K 的相关对象,所有这些对象都作为选项包含在表单页面中,这使得页面非常慢。django.contrib.auth.models.Group为了说明这个问题,我在这里添加了模型和相关“用户”上的本案例设备的类比。
管理员.py
from django.contrib import admin
from django.contrib.auth.models import Group
from forms import GroupAdminForm
admin.site.unregister(Group) # get rid of default one
class GroupAdmin(admin.ModelAdmin):
form = GroupAdminForm
filter_horizontal = ['permissions']
admin.site.register(Group, GroupAdmin)
Run Code Online (Sandbox Code Playgroud)
表格.py
from django import forms
from django.contrib import admin
from django.contrib.auth import get_user_model
from django.contrib.admin.widgets import FilteredSelectMultiple
from django.contrib.auth.models import Group
User = get_user_model()
class GroupAdminForm(forms.ModelForm):
class Meta:
model = Group
exclude = []
users = forms.ModelMultipleChoiceField(
queryset=User.objects.all(),
required=False, …Run Code Online (Sandbox Code Playgroud) Suppose that you have an array and want to create another array, which's values are equal to standard deviation of first array's 10 elements successively. With the help of for loop, it can be written easily like below code. What I want to do is avoid using for loop for faster execution time. Any suggestions?
Code
a = np.arange(20)
b = np.empty(11)
for i in range(11):
b[i] = np.std(a[i:i+10])
Run Code Online (Sandbox Code Playgroud) 我是matplotlib的新手,试图找出如何更改仅选定的x刻度标签的格式的方法。为了简单起见,我在下面附上了简单的代码和图表。如何更改仅最后一个x刻度标签的字体颜色(在此示例中为5.0)?
Code
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.plot([1, 2, 3, 4, 5], [50, 40, 60, 70, 50])
plt.show()
Run Code Online (Sandbox Code Playgroud)
我有一些数据(股票数据),需要通过对该数据进行一些计算来操纵它.我用numpy数组做了.Numpy比python内置函数快得多.但是,我的代码的执行时间高于预期.我的代码在下面,我用ipython%timeit函数测试它.结果是这样的:总执行时间是5.44毫秒,第二个"for"循环占用大部分时间3.88毫秒,并且导致该循环中的'np.mean'函数.因此,'np.mean'的替代方案和任何其他加快执行时间的建议都会有所帮助.
码
data = my_class.Project.all_data["AAP_data"]
data = np.array(data[["High", "Low", "Close"]])
true_range = np.empty((data.shape[0]-1, 1))
for i in range(1, true_range.shape[0]+1):
true_range[i-1] = max((data[i, 0] - data[i, 1]), (abs(data[i, 0] - data[i-1, 2])),
(abs(data[i, 1] - data[i-1, 2])))
average_true_range = np.empty((true_range.shape[0]-13, 1))
for i in range(13, average_true_range.shape[0]+13):
lastn_tr = true_range[(i-13):(i+1)]
average_true_range[i-13] = np.mean(lastn_tr)
Run Code Online (Sandbox Code Playgroud) 我试图在django项目中找到所有引导文件只在一个文件夹中并引用它们.为了做到这一点,我已经将这些行添加到setting.py:
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
Run Code Online (Sandbox Code Playgroud)
我的base.html看起来像这样:
{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Muplay</title>
<link rel="stylesheet" type="text/css" href="{% static'css/bootstrap.css' %}">
<script src="{% static 'js/bootstrap.js' %}"></script>
</head>
<body style="background-color: #F2F2F5">
{% include 'snippets/nav.html' %}
<div class="container">
{% block content %}{% endblock %}
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
当我将此base.html扩展到其他html文件时,css和js文件在浏览器中成功加载.但是,问题是,在终端中,django返回404错误如下:
[10/Dec/2017 14:03:27] "GET /static/js/bootstrap.js HTTP/1.1" 404 1759
[10/Dec/2017 14:03:27] "GET /static/css/bootstrap.css HTTP/1.1" 404 1765
Run Code Online (Sandbox Code Playgroud)
为什么django会在浏览器中成功加载这些静态文件时返回404代码?
我正在尝试使用将一个二维数组复制到另一个memcpy。我的代码:
#include <stdio.h>
#include <string.h>
int print(int arr[][3], int n) {
for (int r = 0; r < 3; ++r) {
for (int c = 0; c < n; ++c)
printf("%d ", arr[r][c]);
printf("\n");
}
}
int main() {
int arr[3][3] = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
int arr_copy[3][3];
print(arr, 3);
memcpy(arr_copy, arr, 3);
print(arr_copy, 3);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
结果:
1 2 3
4 5 6
7 8 9
-1426063359 32726 -1902787872 …Run Code Online (Sandbox Code Playgroud) 我正在尝试为包含 ImageField 的模型建立 CreateView。我可以从 django 管理页面成功上传和显示图像。但是,当我从自己的表单上传图像时,django 不会将图像上传到“upload_to”文件夹。我在下面写我的代码:
模型.py
from django.db import models
class Album(models.Model):
title = models.CharField(max_length=127)
artist = models.CharField(max_length=63)
release_date = models.DateField()
logo = models.ImageField(blank=True, upload_to='album_logos', default='album_logos/no-image.jpg')
def __str__(self):
return self.title
Run Code Online (Sandbox Code Playgroud)
表格.py
from django import forms
from .models import Album
class AlbumCreateForm(forms.ModelForm):
class Meta:
model = Album
fields = [
'title',
'artist',
'release_date',
'logo'
]
Run Code Online (Sandbox Code Playgroud)
视图.py
class AlbumCreateView(CreateView):
form_class = AlbumCreateForm
template_name = 'music/album_create.html'
success_url = '/albums/'
Run Code Online (Sandbox Code Playgroud)
相册_create.html
{% extends 'base.html' %}
{% block content %}
<form method="post">{% csrf_token …Run Code Online (Sandbox Code Playgroud) 我正在尝试为用户注册创建表单并添加一些自定义字段。为此,我将UserCretionForm子类化,并添加了django文档中所示的字段。然后,我基于此表单创建了基于函数的视图和模板。现在,我可以成功创建用户,并且该用户已按预期添加到管理面板中。问题是,我无法为该表单的字段添加类和样式。除用户名字段外,小部件不起作用。我在此处添加脚本,以更准确地说明我的问题:
表格
from django import forms
from django.contrib.auth.forms import UserCreationForm, AuthenticationForm
from django.contrib.auth.models import User
class SignUpForm(UserCreationForm):
first_name = forms.CharField(max_length=32, help_text='First name')
last_name = forms.CharField(max_length=32, help_text='Last name')
email = forms.EmailField(max_length=64, help_text='Enter a valid email address')
class Meta(UserCreationForm.Meta):
model = User
# I've tried both of these 'fields' declaration, result is the same
# fields = ('username', 'first_name', 'last_name', 'email', 'password1', 'password2', )
fields = UserCreationForm.Meta.fields + ('first_name', 'last_name', 'email',)
widgets = {
'username': forms.TextInput(attrs={'class': 'form-control', 'placeholder': 'Username'}),
'first_name': forms.TextInput(attrs={'class': 'form-control', …Run Code Online (Sandbox Code Playgroud) python authentication django forms-authentication user-registration
我正在尝试重写教科书(C++ Primer)中显示的程序。这是一个类似电子邮件的小程序,包含两个 mainMessage和Folder类。源文件如下:
文件夹.h
\n#pragma once\n\n#include <set>\n#include <string>\n\n#include "Message.h"\n\nusing std::string;\nusing std::set;\n\n\nclass Folder {\n friend class Message;\n friend void swap(Folder&, Folder&);\n\npublic:\n Folder(const string &fname):\n name(fname) { }\n Folder(const Folder&);\n Folder& operator=(const Folder&);\n ~Folder();\n\n void print_debug();\n\nprivate:\n string name;\n set<Message*> msgs;\n\n void add_to_Message(const Folder&);\n void remove_from_Message();\n\n void addMsg(Message*);\n void remMsg(Message*);\n};\nRun Code Online (Sandbox Code Playgroud)\n消息.h
\n#pragma once\n\n#include <string>\n#include <set>\n\nusing std::set;\nusing std::string;\n\nclass Folder;\n\nclass Message {\n friend class Folder;\n friend void swap(Message&, Message&);\n\npublic:\n // folders is implicitly initialized to the empty …Run Code Online (Sandbox Code Playgroud) 我正在使用matplotlib twinx在同一轴上绘制多个变量的图形。但是我有一个问题,我找不到解决方案。为简单起见,我在下面附加了少量代码和该代码绘制的图形。
在此图片中,我需要将那些条形图显示在轴的底部,如图2所示。但是在图片2中,ax1t的yticks保持不变。我还需要将它们显示在底部。我怎样才能做到这一点?
码:
import matplotlib.pyplot as plt
import numpy as np
fig, ax1 = plt.subplots()
ax1.plot([4, 2, 8, 6, 4, 7, 3, 5])
ax1t = ax1.twinx()
ax1t.bar(np.arange(8), [45, 42, 55, 36, 58, 45, 48, 62], alpha=0.4)
plt.show()
Run Code Online (Sandbox Code Playgroud)
python ×8
django ×4
matplotlib ×3
numpy ×2
performance ×2
python-3.x ×2
arrays ×1
axis-labels ×1
bootstrap-4 ×1
c ×1
c++ ×1
django-1.11 ×1
django-admin ×1
django-forms ×1
firefox ×1
friend ×1
imagefield ×1
iteration ×1
many-to-many ×1
memcpy ×1
static-files ×1