3D在Python的传染媒介图 - 箭头不正确地显示

时间:2016-03-18 11:55:36

标签: python vector matplotlib 3d

这是我从下面的代码得到的情节:

<cfscript>
var u = createObject("java", "java.net.URL").init("https://api.cloudflare.com/client/v4/zones/#site.zoneId#/purge_cache");
var req = u.openConnection();
req.setRequestMethod("DELETE");
req.setDoOutput(true);
req.setRequestProperty("Content-Type", "application/json" );
req.setRequestProperty("X-Auth-Email", "xxxxx" );
req.setRequestProperty("X-Auth-Key", "xxxx" );
var os = req.getOutputStream();

os.write(javaCast("string",'{"files":#serializeJSON(urls)#}').getBytes("UTF-8"));
os.close();
ret = req.getResponseMessage();

var i = req.getInputStream();
var br = createObject("java",   "java.io.BufferedReader").init(createObject("java", "java.io.InputStreamReader").init(i));
var sb = createObject("java", "java.lang.StringBuilder").init();

var line = br.readLine();
while(!isNull(line)){
    sb.append(line);
    line = br.readLine();
}
req.disconnect();


</cfscript>
<cfdump var="req.getResponseCode() = #req.getResponseCode()#">
<cfdump var="#ret#">
<cfdump var="#sb.toString()#">

enter image description here

存在箭头,因为你可以看到线条的颜色不同但它们看起来不像箭头,是否有人知道我如何正确显示箭头?

非常感谢,

1 个答案:

答案 0 :(得分:0)

箭头(红色)在那里。我相信这是matplotlib库中的一个错误,但无论如何问题都在于组件(U,V,W)。尝试在轴的轴线上稍微旋转它们,您应该看到头部出现。这是一个最小的例子:

   Option Strict On
Option Explicit On
Public Class Form1
    Private ReadOnly rand As New Random
    Private value As Integer

    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load

        Me.value = rand.Next(minValue:=1, maxValue:=30)

    End Sub

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        Dim guess As Integer        'guess number
        Dim numTry As Integer       'No. of trys
        Dim RandNo As Integer       'Random Number
        Dim OrdNo As Integer        'Ordinal Number
        Dim Score As Integer        'Score

        Score = 0 'Initial value of score set as 0
        OrdNo = CInt(1)  'Initial value of ordinal set as 1 
        numTry = CInt(21)
        guess = CInt(TextBox1.Text)
        OrdNo = +1
        Label5.Text = CStr(OrdNo)

        'Show Message Box if the guess is not within the range
        If 1 > guess Then
            MessageBox.Show("Input within the range (1-30)", "Error", MessageBoxButtons.OK)
            Exit Sub
        End If

        'Show Message Box if the guess is not within the range
        If guess > 30 Then
            MessageBox.Show("Input within the range (1-30)", "Error", MessageBoxButtons.OK)
            Exit Sub
        End If

        'Display result and message when guess is larger than the lucky number
        If guess > Me.value Then
            Label11.Text = CStr(guess)
            Label10.Text = "The Lucky Number is smaller than your guess"
            OrdNo = OrdNo + 1
            Label5.Text = CStr(OrdNo)
            numTry = numTry - 1
            Label4.Text = CStr(numTry)
        End If

        'Display result and message when guess is smaller than lucky number
        If guess < Me.value Then
            Label11.Text = CStr(guess)
            Label10.Text = "The Lucky Number is larger than your guess"
            OrdNo = OrdNo + 1
            Label5.Text = CStr(OrdNo)
            numTry = numTry - 1
            Label4.Text = CStr(numTry)

        End If

        'Display result and message when guess is equal to the lucky number
        If guess = Me.value Then
            Label11.Text = CStr(guess)
            Label10.Text = "Congratulations ! This is the lucky number"
            Score = +10 'Increase the score by 10
            Label6.Text = CStr(Score)
            numTry = numTry - 1
            OrdNo = 1
            Me.value = rand.Next(minValue:=1, maxValue:=30)

            If numTry = 0 Then Application.Exit()

        End If

    End Sub

End Class

,结果如下:

Arrow heads in Axes 3D

注意一个箭头如何与你的问题相同。其他人都很好。它们之间的唯一区别是组件。

我认为您应该尝试提供数据(您使用的是我们无法看到的类,因此您的绘图仍然难以复制)以及代码,以防您在设置正确的组件时遇到问题